# j-DynamicValue

> Este componente é um componente muito especial. pode manter um valor, por exemplo Número e no mesmo pode tornar outro texto leível. este componente está otimizado para uso dinâmico, então ele precisa ser

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: pt
Content-SHA256: 5caef1d8c17b7d09f1a50df01ffae92754a3a25eb74ec31658fa627bccdabf95
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

Este componente é um componente muito especial. pode manter um valor, por exemplo, `Number` e ao mesmo tempo pode tornar outro `text`. este componente está otimizado para uso dinâmico, então ele precisa ser ligado a outro componente ou parte.


- Icon `icon {String}` para etiquetas, por exemplo, casa, cog, etc.
- `label {String}` (default é o conteúdo HTML)
- Icon `icon2 {String}` na caixa direita, por exemplo, casa, cog, etc. (default: `angle-down`)
- `placeholder {String}` adiciona um texto
- `disabled {Boolean}` desabilita esse componente
- `find {String}` __important__ link para `function(el, next(value))` para vincular um novo valor
- `read {String}` um link para `function(value, next(response))` para vincular uma leitura `text`
- `url {String}` tenta ligar um valor através de `AJAX()`, o argumento `{0}` na URL é substituído pelo valor
- `html {String}` Tangular para renderização de um valor (default: `{{ name }}`)
- `remap {String}` A função de remédio (default) `null`Por exemplo: `value.length ? value[0] : null`
- `required {Boolean}` permite o “requisito” (default: `false`)
- `bind {String}` - um caminho para o método ou variável onde o valor carregado será ligado (opcional)
- `dirsource {String}` um link para o método `function(search, next(items_arr))` ou __NEW__: pode conter URL para pesquisa no formulário `GET /api/partners/?q={0}`
- `dircustom {String/Boolean}` pode conter um caminho para a função(val, próximo(new_val)) ou pode ser Boolean. esta opção pode permitir adicionar um valor personalizado (valor não definido na fonte de dados)
- `dirrender {String}` um caminho para `function(item, text)` (deve retornar HTML para j-Directory), esta função pode afetar a lista de itens em j-Directory
- `dirminwidth {Number}` uma largura mínima para j-Directory, (default: `200`)
- `dirmaxwidth {Number}` a largura máxima para j-Directory
- `dirplaceholder {String}` um local para j-Directory
- `dirempty {String}` adiciona um campo vazio para j-Directory
- `dirkey {String}` um nome chave para a leitura de texto em dirsource (default: `name`)
- `dirvalue {String}` um nome chave para a leitura de valor em dirsource (default: `id`)
- `onresponse {String}` um caminho para a propriedade ou `function(response)`, executado se a resposta for processada (default: `undefined`)
- __NEW__ `tapi {Boolean}` permite chamar `TAPI()` insteadof `AJAX()` (default: falso)

### Usando o Ajax

Se o `value` for alterado, o componente executa automaticamente a chamada `AJAX`.

```html
<ui-component name="dynamicvalue" path="path.to.property" config="url:/users/{0}/;dirsource:GET /users/?search={0}"></ui-component>
```

### Uso Inline

Se o `value` for alterado, então o componente executa `config.exec` para obter um texto leível de um valor.

```html
<ui-component name="dynamicvalue" path="path.to.property" config="exec:my_function"></ui-component>

<script>
	function my_function(value, next) {
		next({ name: 'This text will be displayed as a value '});
	}
</script>
```

__Bom para saber__:

- `component.response` contém uma resposta cru do resultado

Use-o com `<ui-component name="dynamicvalue">`Quando o componente ainda não está carregado, jComponent Descarrega-o no primeiro uso do endereço `DEF.fallback` (a partir do Componentator CDN por padrão). autor: Peter Širka. fonte: o Componentator Reserva de componentes, licença MIT.

```html example.html
<div style="width:300px">
	<ui-component name="dynamicvalue" path="userid" config="exec:getuser;click:finduser;placeholder:Choose a user">User</ui-component>
</div>

<script>
	var userid = 1;

	function getuser(value, next) {
		// Here you can read a readable text
		// Value is binded according to the "config.html" Tangular template
		next({ name: 'Peter' });
	}

	function finduser(element, next, current_value) {
		// "next" must received a new value which will be binded from e.g. j-Suggestion or some j-Form
		// a value will be automatically binded according to the component "path"
		next(1);
	}

</script>
```
