Skip to content

Commit

Permalink
Change config
Browse files Browse the repository at this point in the history
  • Loading branch information
Mister-42 committed Dec 28, 2020
1 parent 32a82be commit 2ee3e7e
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 32 deletions.
30 changes: 12 additions & 18 deletions config/web.php
Expand Up @@ -2,28 +2,22 @@

declare(strict_types=1);

use Psr\Container\ContainerInterface;
use YiiRocks\SvgInline\FontAwesome\SvgInlineFontAwesome;
use YiiRocks\SvgInline\FontAwesome\SvgInlineFontAwesomeInterface;
use Yiisoft\Aliases\Aliases;
use Yiisoft\Assets\AssetManager;

/* @var array $params */

return [
SvgInlineFontAwesomeInterface::class => static function (ContainerInterface $container) use ($params) {
$fai = new SvgInlineFontAwesome($container->get(Aliases::class), $container);
$fai->setFallbackIcon($params['yiirocks/svg-inline-fontawesome']['fallbackIcon']);
$fai->setFill($params['yiirocks/svg-inline-fontawesome']['fill']);
$fai->setFixedWidth($params['yiirocks/svg-inline-fontawesome']['fixedWidth']);
$fai->setFontAwesomeIconsFolder($params['yiirocks/svg-inline-fontawesome']['fontAwesomeFolder']);
$fai->setPrefix($params['yiirocks/svg-inline-fontawesome']['prefix']);
$fai->setStyle($params['yiirocks/svg-inline-fontawesome']['style']);

if ($params['yiirocks/svg-inline-fontawesome']['registerAssets'] === true) {
$fai->registerAssets($container->get(AssetManager::class));
}

return $fai;
},
SvgInlineFontAwesomeInterface::class => [
'__class' => SvgInlineFontAwesome::class,
'__construct()' => [
'registerAssets' => $params['yiirocks/svg-inline-fontawesome']['registerAssets'],
],
'setFallbackIcon()' => [$params['yiirocks/svg-inline-fontawesome']['fallbackIcon']],
'setFill()' => [$params['yiirocks/svg-inline-fontawesome']['fill']],
'setFixedWidth()' => [$params['yiirocks/svg-inline-fontawesome']['fixedWidth']],
'setFontAwesomeIconsFolder()' => [$params['yiirocks/svg-inline-fontawesome']['fontAwesomeFolder']],
'setPrefix()' => [$params['yiirocks/svg-inline-fontawesome']['prefix']],
'setStyle()' => [$params['yiirocks/svg-inline-fontawesome']['style']],
],
];
43 changes: 29 additions & 14 deletions src/SvgInlineFontAwesome.php
Expand Up @@ -4,6 +4,8 @@

namespace YiiRocks\SvgInline\FontAwesome;

use Psr\Container\ContainerInterface;
use Yiisoft\Aliases\Aliases;
use Yiisoft\Assets\AssetManager;
use Yiisoft\Html\Html;

Expand All @@ -25,7 +27,33 @@ final class SvgInlineFontAwesome extends \YiiRocks\SvgInline\SvgInline implement
private bool $fixedWidth;

/** @var FontAwesomeIcon icon properties */
private Object $icon;
private FontAwesomeIcon $icon;

/**
* Construct
*
* @param Aliases $aliases
* @param AssetManager $assetManager
* @param ContainerInterface $container
* @param FontAwesomeIcon $icon
* @param bool $registerAssets
*/
public function __construct(
Aliases $aliases,
AssetManager $assetManager,
ContainerInterface $container,
FontAwesomeIcon $icon,
bool $registerAssets
) {
parent::__construct($aliases, $container);
$this->icon = $icon;

if ($registerAssets) {
$assetManager->register([
FontawesomeAsset::class,
]);
}
}

/**
* Sets the name of the icon.
Expand All @@ -42,19 +70,6 @@ public function name(string $name, ?string $style = null): FontAwesomeIcon
return $this->icon;
}

/**
* Register Font Awesome CSS file to asset manager
*
* @param AssetManager $assetManager
* @return void
*/
public function registerAssets(AssetManager $assetManager): void
{
$assetManager->register([
FontawesomeAsset::class,
]);
}

/**
* @see $fixedWidth
* @param bool $value
Expand Down

0 comments on commit 2ee3e7e

Please sign in to comment.