# j-Modal

> É uma alternativa simples ao j-Form.

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

É uma alternativa simples ao `j-Form`.

- Trabalha apenas com `+v17`
- O componente move o conteúdo deste componente sob a tag `<body>` (por causa da posição)


__Configuração__:

- Título modal `title {String}` (reemplaça um elemento de etiqueta `HTML` no cabeçalho)
- `width {Number}` Modal Max-width
- A condição de `if {String}` para a apresentação do modal, é comparada com o valor dentro de `path`
- `icon {String}` Total sem `ti-`
- `reload {String}` liga-se a um global `function(modal_component)` e é executado se o formulário for exibido
- `submit {String}` liga-se a um global `function(hide)` e é executado se o botão de envio for pressionado
- `cancel {String}` liga-se a um global `function(hide)` e é executado se o botão de cancelamento for pressionado
- `enter {Boolean}` capta automaticamente a chave `enter` e realiza o envio (default: `false`)
- `center {Boolean}` centra a forma no meio da tela
- `autofocus {Boolean/String}` pode focar uma entrada. `String` === `jQuery selector` para a entrada
- `default {String}` é um alias curto para `DEFAULT(default, true)`
- `zindex {Number}` pode afetar o índice z (default: `12`)
- `align {Number}` Alinhamento Modal `0` O centro (default) `1` Direito do fundo, `2` A esquerda abaixo, `3` A esquerda em cima, `4` O topo certo
- `height {Number}` a min. altura se o conteúdo tem tamanho menor do que o definido `height`
- __NEW__ `bg {Boolean}` pode ativar/desabilitar uma camada de fundo (default: `true`)
- __NEW__ `scrollbar {Boolean}` pode ativar/disabilitar a barra de rolamento (default: `false`)

__Bom para saber__:

O conteúdo do `j-Modal` é dividido em 3 partes: `header`, `body` e `footer`. Cada parte deve ser definida. o componente adiciona classes CSS a cada parte, por exemplo, o primeiro `div` contém `ui-modal-header`, segundo `ui-modal-body` e terceiro `ui-modal-footer`.

---

Este componente suporta a avaliação dinâmica do conteúdo de `<script type="text/html">`. O exemplo abaixo contém um script com HTML e o componente avalia o conteúdo se o j-Modal será exibido (apenas uma vez).

```html
<ui-component name="modal" path="path" config="config">
	<script type="text/html">
		A CONTENT
	</script>
</ui-component>
```

Use-o com `<ui-component name="modal">`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
<ui-component name="modal" path="common.form" config="if:user;width:600;submit:usermodal_submit;icon:home" class="hidden">

	<!-- HEADER -->
	<div>
		<span class="link cancel"><i class="ti ti-times"></i></span>
		<label>Your title</label>
	</div>

	<!-- BODY -->
	<div>
		<div class="padding">
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
		</div>
	</div>

	<!-- FOOTER -->
	<div>
		<span class="link cancel">Cancel</span>
		<button name="submit"><i class="ti ti-save"></i>Submit form</button>
	</div>

</ui-component>

<script>

	function usermodal_submit(hide) {
		alert('SUBMIT');
		hide();
	}

	var common = {};

	// Show the form
	common.form = 'user';
</script>
```
