Commit fb0a0c0f authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Nettoyage de code, refactorisation, et documentation.

parent c97ae350
Loading
Loading
Loading
Loading
Loading
+28 −6
Original line number Diff line number Diff line
@@ -42,12 +42,18 @@ Remarques :
Exemples d'utilisation
----------------------

### Affichage d'alertes ajoutées manuellement

```php
// Affichage d'une alerte créée manuellement, sous forme de Modal Bootstrap : 
echo $this->alertes()->addAlerteNew("Quelque chose s'est mal passé !!", "Votre attention, svp !", 'danger')->renderAsBootstrapModals();
// Affichage d'une alerte créée manuellement, sous forme de Toast Bootstrap disparaissant au bout de 3 secondes : 
echo $this->alertes()addAlerteNew("Youpi !!", "Félicitations", 'success', 3000);->renderAsBootstrapToasts();
```

### Affichage d'alertes puisées dans la bdd

```php
// Affichage de toutes les alertes puisées en bdd, sous forme de Toasts Bootstrap, à condition que leur planning d'affichage inclue la date du jour :
echo $this->alertes()->addAlertesFromDatabase(true)->renderAsBootstrapToasts();
// Idem, sous forme d'Alerts Bootstrap classiques :
@@ -60,18 +66,33 @@ echo $this->alertes()->addAlertesFromDatabase(true)->renderAsJavascriptAlerts();
echo $this->alertes()->addAlerteFromDatabase('ALERTE_MAINTENANCE', true)->renderAsBootstrapToasts();
// Affichage d'une alerte puisée en bdd identifiée par son code, sous forme d'un Toast Bootstrap, quelque soit son planning d'affichage :
echo $this->alertes()->addAlerteFromDatabase('ALERTE_FERMETURE_ESTIVALE')->renderAsBootstrapToasts();
```

### Affichage d'alertes issues du FlashMessenger

```php
echo $this->alertes()->addAlertesFromFlashMessenger()->renderAsBootstrapToasts();
```

// Affichage aggrégé de plusieurs alertes :
### Affichage aggrégé

```php
echo $this->alertes()
    ->addAlerteNew("Quelque chose s'est mal passé !!", "Votre attention, svp !", 'danger')
    ->addAlerteNew("Youpi !!", "Félicitations", 'success', 3000)
    ->addAlerteFromDatabase('ALERTE_MAINTENANCE', true)
    ->addAlerteFromDatabase('ALERTE_FERMETURE_ESTIVALE')
    ->addAlerteNew("Youpi !!", "Félicitations", 'success', 3000) // disparition automatique au bout de 3s
    ->addAlerteFromDatabase('ALERTE_MAINTENANCE')
    ->addAlerteFromDatabase('ALERTE_FERMETURE_ESTIVALE', false) // pas de respect de la période d'affichage
    ->addAlertesFromFlashMessenger()
    ->renderAsBootstrapToasts();
```

### Usage avancé

// Même chose mais en version "expert" :
```php
/** @var \UnicaenAlerte\View\Helper\AlerteViewHelper $alertesHelper */
$alertesHelper = $this->alertes();
$alertesHelper->getFlashMessengerContainer()
    ->setSeverityDuration('success', 0); // pas de disparition automatique
$alertesHelper->getArrayContainer()
    ->addAlerteNew("Quelque chose s'est mal passé !!", "Votre attention, svp !", 'danger')
    ->addAlerteNew("Youpi !!", "Félicitations", 'success', 3000);
@@ -80,6 +101,7 @@ $alertesHelper->getDatabaseContainer()
    ->withCodeAndMatchingPlanning('ALERTE_FERMETURE_ESTIVALE', false);
echo $alertesHelper
    ->addAlertesFromDatabase()
    ->addAlertesFromFlashMessenger()
    ->renderAsBootstrapToasts();
```

+3 −3
Original line number Diff line number Diff line
@@ -14,8 +14,8 @@ use UnicaenAlerte\Form\AlerteForm;
use UnicaenAlerte\Form\AlerteFormFactory;
use UnicaenAlerte\Hydrator\AlerteHydrator;
use UnicaenAlerte\Hydrator\AlerteHydratorFactory;
use UnicaenAlerte\Service\AlerteService;
use UnicaenAlerte\Service\AlerteServiceFactory;
use UnicaenAlerte\Service\Db\AlerteService;
use UnicaenAlerte\Service\Db\AlerteServiceFactory;
use UnicaenAlerte\View\Helper\AlerteViewHelper;
use UnicaenAlerte\View\Helper\AlerteViewHelperFactory;

+5 −1
Original line number Diff line number Diff line
@@ -2,9 +2,13 @@

namespace UnicaenAlerte\Container\Array;

use UnicaenAlerte\Container\ContainerInterface;
use UnicaenAlerte\Entity\Db\Alerte;

class ArrayContainer implements ArrayContainerInterface
/**
 * Container basique de type tableau permettant d'ajouter manuellement des alertes.
 */
class ArrayContainer implements ContainerInterface
{
    /**
     * Alertes à afficher.
+0 −16
Original line number Diff line number Diff line
<?php

namespace UnicaenAlerte\Container\Array;

use UnicaenAlerte\Container\ContainerInterface;
use UnicaenAlerte\Entity\Db\Alerte;

interface ArrayContainerInterface extends ContainerInterface
{
    public function addAlerte(Alerte $alerte): self;

    public function addAlerteNew(string $text,
                                 string $title,
                                 string $severity = Alerte::SEVERITY_INFO,
                                 int    $duration = 0): self;
}
 No newline at end of file
+3 −0
Original line number Diff line number Diff line
@@ -2,6 +2,9 @@

namespace UnicaenAlerte\Container;

/**
 * Spécification minimale d'un container d'alertes.
 */
interface ContainerInterface
{
    /**
Loading