# j-Importer

> j-Import est un excellent composant pour importer des modèles HTML, des scripts ou des styles en fonction du chemin et de la condition. Le composant peut être utile avec les applications SPA car vous pouvez facilement importer des modèles,

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: fr
Content-SHA256: 193dfefb023e5f0aa398785cfcd81d058cb46ab26a46a9f55ba226da7cfb64bf
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

__j-Import__ est un excellent composant pour importer des modèles, des scripts ou des styles HTML en fonction du chemin et de la condition. Le composant peut être utile avec les applications SPA car vous pouvez facilement importer des modèles, des scripts ou des styles de manière dynamique.


__Configuration__ :

- `if {String}` doit contenir une valeur
- `url {String}` URL relative/absolue vers une sous-page ou une sous-partie
- `reload {String}` un lien vers la méthode dans la portée globale, il est exécuté si la __condition__ est valide
- `cleaner {Number}` (optionnel) temps d'inactivité (en minutes) pour l'exécution du nettoyage (par défaut : `0`)
- `clean {String}` (facultatif) un lien vers la fonction, il est exécuté avant le nettoyage de l'importateur
- `id {String}` un identifiant personnalisé pour remplacer les phrases `~ID~` dans le HTML importé (par défaut : vide)
- __NOUVEAU__ : `singleton {Boolean}`, il ne gère qu'une seule instance d'importateur selon le `path + if + url` (par défaut : `false`)
- __NOUVEAU__ : `parent {String}` il se déplace comme un enfant direct du sélecteur `parent`
- __NEW__ : `adapt {Boolean}` si `true` il appelle la méthode `reload:?/soemthing` pour le plugin imbriqué au lieu du plugin actuel (par défaut : `false`)

__Nouvelle mise à jour__ :

j-Importer peut contenir `<script type="text/html">` avec un contenu qui sera évalué au format HTML si la condition est valide.

__Bon à savoir 1__ :

- toutes les phrases `CLASS` et `~PATH~` seront remplacées automatiquement par `config.path` ou `config.if`
- toutes les phrases `~ID~` seront automatiquement remplacées par `config.id`
- L'importateur remplace automatiquement les éléments `<SCR>` par des éléments `<script>` uniquement dans le modèle `<script type="text/html">`.

__Bon à savoir 2__ :

Si le composant de la pièce n'est pas dans la portée, la valeur de `config.if` remplacera les caractères `?` dans toutes les clés de configuration.

Utilisez-le avec `<ui-component name="importer">`. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans `DEF.fallback` (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence MIT.

```html example.html
<div>CURRENT VALUE: <ui-bind path="myvalue" config="html:value"></ui-bind></div>
<ui-component name="importer" path="myvalue" config="if:d3;url:https://d3js.org/d3.v4.min.js"></ui-component>

<script>

	var myvalue = '';

	setTimeout(function() {
		SET('myvalue', 'd3');
	}, 3000);

	setTimeout(function() {
		SET('myvalue', null);
	}, 5000);

	setTimeout(function() {
		// The component contains prevention for double import, so D3 won't be imported again.
		SET('myvalue', 'd3');
	}, 8000);

</script>
```
