Normad
Installation
npm install normadPrésentation
Ce module permet de normaliser une adresse postal française.
Si plusieurs choix sont possibles, une modale s'ouvrira pour permettre à l'utilisateur de choisir la meilleure occurrence.
Le module utilise la modale de Bootstrap si ce dernier est utilisé dans le projet, sinon il ouvrira une modale construite dynamiquement. La CSS pourra être personnalisée.
Paramétrage
Le module nécessite l'instanciation d'une variable
normaFields pour lui permettre de reconnaître les champs contenant la ligne adresse, le code postal et la localité :
* address : Id du champ ligne adresse
* postcode : Id du champ code postal
* city : Id du champ commune
partial : Permet de définir si la normalisation / contrôle se fait sur toute l'adresse ou uniquement sur l'association Code Postal / Commune. true si contrôle partiel, false sinon, auquel cas le champ address* est obligatoire.
Le module permet de gérer plusieurs formulaires sur une même page ; il suffit de définir les champs à auditer dans une structure au préalable de l'ajout du script :
``
`
`
`
Personnalisation
La personnalisation des boutons se fait par l'ajout du script :
`
`
Capture d'évènement
Vous pouvez dans un script externe capturer le fait que la mise à jour ait été effectuée par Normad :
`
``
Exemples
*
Exemple avec Bootstrap*
Exemple sans BootstrapPour chaque bouton (cancel ou submit), on pourra définir l'ordre d'affichage et le texte affiché
Versions
$3
* Gestion multilingue
* Configuration de la modale, du titre, etc.
* Feuille de style personnalisée
* and so on...
$3
* Invalid shorthand property initializer
$3
* Flag Normad.cancel indique si l'utilisateur a cliqué sur le bouton Annuler (adresse non normalisée, volontaire)
$3
* Flag Normad.normalized indique si l'adresse a été normalisée ou non
$3
* Compatibilité Bootstrap < 4.x (nécessite JQuery pour la modale)
$3
* Personnalisation des boutons
$3
* Compatibilité Bootstrap 4.0.x
$3
* Compatibilité Bootstrap 4.x + Event Handler
$3
* Compatibilité Bootstrap 5.x (Modale + Input-Group)
$3
* Native JS