# j-DataSource

> El componente carga datos de la fuente externa a través del método AJAX() y vincula el valor de acuerdo con config.path.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: es
Content-SHA256: 356b26601e0bfb96026a7793b06837a5b6ff1f720d1e5376eae678ce3e76cc88
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

El componente carga datos de la fuente externa mediante el método `AJAX()` y vincula el valor de acuerdo con `config.path`.


__Configuración__:

- `path {String}` __required__ una ruta donde se establecerá el valor
- `url {String}` opcional, una dirección URL para obtener datos
- `delay {Number}` opcional, un retraso (en milisegundos) para la obtención de datos (predeterminado: `0`)

__Es bueno saberlo__:

- `config.path = '#codelist'` establece un valor en las listas de códigos `DEF.cl.codelist`
- `config.path = '%codelist'` establece un valor como temporal
- `config.path = '?.path` establece un valor según la ruta del complemento
- `config.path = 'absolute.path` establece un valor según la ruta

__¿Puedo utilizar una dirección URL dinámica?__

Sí, puede utilizar `<ui-component name="datasource" path="..."` para la obtención dinámica de datos.

```html
<ui-component name="datasource" path="?.urlcities" config="path:#cities"></ui-component>
```

__¿Cómo puedo modificar los datos antes de vincularlos?__

```html
<ui-component name="datasource" config="url:https://www.yourdomain.com/api/countries/;path:#countries">
	<script type="text/plain">
		var output = [];
		for (var item of value)
			output.push({ id: item.Id, name: item.Name });
		return output;
	</script>
</ui-component>
```

Úselo con `<ui-component name="datasource">`. Cuando el componente aún no está cargado, jComponent lo descarga en el primer uso desde la dirección en `DEF.fallback` (la CDN Componentator de forma predeterminada). Autor: Peter Širka. Fuente: repositorio de componentes Componentator, licencia MIT.

```html example.html
<ui-component name="datasource" config="url:https://www.totaljs.com/dashboard.json;path:#mycodelist">
	<script type="text/plain">
		return value.children;
	</script>
</ui-component>

<ui-bind path="#mycodelist" config="html pre:JSON.stringify(value, null, '  ')" class="block">
	<pre></pre>
</ui-bind>
```
