# j-Watcher

> Ce composant exécute le code défini dans le tag <script type='text/js'></script>.

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

Ce composant exécute le code défini dans le label `<script type="text/js"></script>`.

```html
<script type="text/js">

	// value {Object} a value bound according to the path
	// path {String} a path where the value was bonded
	// type {Number} binding type (0: init, 1: manually, 2: by input, 3: default value)
	// element {jQuery element} a current element
	// datasource {Object}
	// component {jComponent}

</script>
```

__Configuration__ :

- `delay {Number}` un délai d'évaluation du code (par défaut : `0`)
- __NEW__: `datasource {String}` un lien vers la source de données (il sera enregistré dans la propriété `datasource`)

__Important__:

Vous devez utiliser `<script type="text/js">` ou `<script type="text/plain">`Ne pas utiliser l’élément de scénario sans `type` ou avec le type `text|application/javascript` Le script sera automatiquement évalué par le navigateur.

Utilisez-le avec `<ui-component name="watcher">`. 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
<ui-component name="watcher" path="common.value">
	<script type="text/js">
		console.log('-->', value, path, type);
		element.html(value);
	</script>
</ui-component>

<script>
	var common = { value: 'init' };
	setInterval(function() {
		SET('common.value', new Date().format('HH:mm:ss'));
	}, 1000);
</script>
```
