Loading config/merged/indicateur.config.php +2 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ use UnicaenIndicateur\Provider\Privilege\IndicateurPrivileges; use UnicaenIndicateur\Service\Indicateur\IndicateurService; use UnicaenIndicateur\Service\Indicateur\IndicateurServiceFactory; use UnicaenIndicateur\View\Helper\DefaultItemViewHelper; use UnicaenIndicateur\View\Helper\IndicateursViewHelperFactory; use UnicaenIndicateur\View\Helper\IndicateurViewHelperFactory; use UnicaenPrivilege\Guard\PrivilegeController; use Laminas\Router\Http\Literal; Loading Loading @@ -208,6 +209,7 @@ return [ ], 'factories' => [ 'indicateur' => IndicateurViewHelperFactory::class, 'indicateurs' => IndicateursViewHelperFactory::class, ], ], ]; No newline at end of file src/UnicaenIndicateur/Entity/Db/Interface/HasIndicateursInterface.php 0 → 100644 +14 −0 Original line number Diff line number Diff line <?php namespace UnicaenIndicateur\Entity\Db\Interface; use UnicaenIndicateur\Entity\Db\Indicateur; interface HasIndicateursInterface { public function getIndicateurs(): array; public function hasIndicateur(Indicateur $indicateur) : bool; public function addIndicateur(Indicateur $indicateur) : void; public function removeIndicateur(Indicateur $indicateur) : void; public function clearIndicateurs() : void; } src/UnicaenIndicateur/Entity/Db/Trait/HasIndicateursTrait.php 0 → 100644 +36 −0 Original line number Diff line number Diff line <?php namespace UnicaenIndicateur\Entity\Db\Trait; use Doctrine\Common\Collections\Collection; use UnicaenIndicateur\Entity\Db\Indicateur; trait HasIndicateursTrait { private Collection $indicateurs; public function getIndicateurs(): array { return $this->indicateurs->toArray(); } public function hasIndicateur(Indicateur $indicateur) : bool { return $this->indicateurs->contains($indicateur); } public function addIndicateur(Indicateur $indicateur) : void { if (!$this->hasIndicateur($indicateur)) $this->indicateurs->add($indicateur); } public function removeIndicateur(Indicateur $indicateur) : void { if ($this->hasIndicateur($indicateur)) $this->indicateurs->removeElement($indicateur); } public function clearIndicateurs() : void { $this->indicateurs->clear(); } } src/UnicaenIndicateur/View/Helper/IndicateursViewHelper.php 0 → 100644 +28 −0 Original line number Diff line number Diff line <?php namespace UnicaenIndicateur\View\Helper; use Laminas\View\Helper\AbstractHelper; use Laminas\View\Helper\Partial; use Laminas\View\Renderer\PhpRenderer; use Laminas\View\Resolver\TemplatePathStack; use UnicaenIndicateur\Entity\Db\Indicateur; use UnicaenIndicateur\Service\Indicateur\IndicateurServiceAwareTrait; class IndicateursViewHelper extends AbstractHelper { use IndicateurServiceAwareTrait; /** * @param Indicateur[] $indicateurs * @param array $options * @return Partial|string */ public function __invoke(array $indicateurs, array $options = []): Partial|string { /** @var PhpRenderer $view */ $view = $this->getView(); $view->resolver()->attach(new TemplatePathStack(['script_paths' => [__DIR__ . "/partial"]])); return $view->partial('indicateurs', ['indicateurs' => $indicateurs, 'options' => $options]); } } No newline at end of file src/UnicaenIndicateur/View/Helper/IndicateursViewHelperFactory.php 0 → 100644 +15 −0 Original line number Diff line number Diff line <?php namespace UnicaenIndicateur\View\Helper; use Psr\Container\ContainerInterface; class IndicateursViewHelperFactory { public function __invoke(ContainerInterface $container): IndicateursViewHelper { $helper = new IndicateursViewHelper(); return $helper; } } No newline at end of file Loading
config/merged/indicateur.config.php +2 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ use UnicaenIndicateur\Provider\Privilege\IndicateurPrivileges; use UnicaenIndicateur\Service\Indicateur\IndicateurService; use UnicaenIndicateur\Service\Indicateur\IndicateurServiceFactory; use UnicaenIndicateur\View\Helper\DefaultItemViewHelper; use UnicaenIndicateur\View\Helper\IndicateursViewHelperFactory; use UnicaenIndicateur\View\Helper\IndicateurViewHelperFactory; use UnicaenPrivilege\Guard\PrivilegeController; use Laminas\Router\Http\Literal; Loading Loading @@ -208,6 +209,7 @@ return [ ], 'factories' => [ 'indicateur' => IndicateurViewHelperFactory::class, 'indicateurs' => IndicateursViewHelperFactory::class, ], ], ]; No newline at end of file
src/UnicaenIndicateur/Entity/Db/Interface/HasIndicateursInterface.php 0 → 100644 +14 −0 Original line number Diff line number Diff line <?php namespace UnicaenIndicateur\Entity\Db\Interface; use UnicaenIndicateur\Entity\Db\Indicateur; interface HasIndicateursInterface { public function getIndicateurs(): array; public function hasIndicateur(Indicateur $indicateur) : bool; public function addIndicateur(Indicateur $indicateur) : void; public function removeIndicateur(Indicateur $indicateur) : void; public function clearIndicateurs() : void; }
src/UnicaenIndicateur/Entity/Db/Trait/HasIndicateursTrait.php 0 → 100644 +36 −0 Original line number Diff line number Diff line <?php namespace UnicaenIndicateur\Entity\Db\Trait; use Doctrine\Common\Collections\Collection; use UnicaenIndicateur\Entity\Db\Indicateur; trait HasIndicateursTrait { private Collection $indicateurs; public function getIndicateurs(): array { return $this->indicateurs->toArray(); } public function hasIndicateur(Indicateur $indicateur) : bool { return $this->indicateurs->contains($indicateur); } public function addIndicateur(Indicateur $indicateur) : void { if (!$this->hasIndicateur($indicateur)) $this->indicateurs->add($indicateur); } public function removeIndicateur(Indicateur $indicateur) : void { if ($this->hasIndicateur($indicateur)) $this->indicateurs->removeElement($indicateur); } public function clearIndicateurs() : void { $this->indicateurs->clear(); } }
src/UnicaenIndicateur/View/Helper/IndicateursViewHelper.php 0 → 100644 +28 −0 Original line number Diff line number Diff line <?php namespace UnicaenIndicateur\View\Helper; use Laminas\View\Helper\AbstractHelper; use Laminas\View\Helper\Partial; use Laminas\View\Renderer\PhpRenderer; use Laminas\View\Resolver\TemplatePathStack; use UnicaenIndicateur\Entity\Db\Indicateur; use UnicaenIndicateur\Service\Indicateur\IndicateurServiceAwareTrait; class IndicateursViewHelper extends AbstractHelper { use IndicateurServiceAwareTrait; /** * @param Indicateur[] $indicateurs * @param array $options * @return Partial|string */ public function __invoke(array $indicateurs, array $options = []): Partial|string { /** @var PhpRenderer $view */ $view = $this->getView(); $view->resolver()->attach(new TemplatePathStack(['script_paths' => [__DIR__ . "/partial"]])); return $view->partial('indicateurs', ['indicateurs' => $indicateurs, 'options' => $options]); } } No newline at end of file
src/UnicaenIndicateur/View/Helper/IndicateursViewHelperFactory.php 0 → 100644 +15 −0 Original line number Diff line number Diff line <?php namespace UnicaenIndicateur\View\Helper; use Psr\Container\ContainerInterface; class IndicateursViewHelperFactory { public function __invoke(ContainerInterface $container): IndicateursViewHelper { $helper = new IndicateursViewHelper(); return $helper; } } No newline at end of file