# j-Modal

> Ist eine einfache Alternative zu j-Form.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: de
Content-SHA256: 3af70583e03a1775bfb5e41689631e0cfc578228639f8248e1a5d88763b99dc2
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

Ist eine einfache Alternative zu `j-Form`.

- Funktioniert nur mit `+v17`
- Die Komponente verschiebt den Inhalt dieser Komponente unter das Tag `<body>` (aufgrund der Positionierung).


__Konfiguration__:

- Modaler Titel `title {String}` (ersetzt einen `HTML` im Label-Element im Header)
- `width {Number}` modale maximale Breite
- Bedingung `if {String}` für die Anzeige des Modals, es wird mit dem Wert innerhalb von `path` verglichen
- `icon {String}` Gesamtsymbol ohne `ti-`
- `reload {String}`-Link zu einem globalen `function(modal_component)` und er wird ausgeführt, wenn das Formular angezeigt wird
- `submit {String}`-Link zu einem globalen `function(hide)` und wird ausgeführt, wenn die Schaltfläche „Senden“ gedrückt wird
- `cancel {String}`-Link zu einem globalen `function(hide)` und wird ausgeführt, wenn die Schaltfläche „Abbrechen“ gedrückt wird
- `enter {Boolean}` erfasst den `enter`-Schlüssel automatisch und führt die Übermittlung durch (Standard: `false`)
- `center {Boolean}` zentriert das Formular in der Mitte des Bildschirms
- `autofocus {Boolean/String}` kann eine Eingabe fokussieren. `String` === `jQuery selector` für die Eingabe
- `default {String}` ein Kurzalias für `DEFAULT(default, true)`
- `zindex {Number}` kann den Z-Index beeinflussen (Standard: `12`)
- `align {Number}` richtet modales `0` zentriert aus (Standard), `1` rechts unten, `2` links unten, `3` links oben, `4` rechts oben
- `height {Number}` pro Minute. Höhe, wenn der Inhalt eine geringere Größe als die definierte `height` hat
- __NEU__ `bg {Boolean}` kann eine Hintergrundebene aktivieren/deaktivieren (Standard: `true`)
- __NEU__ `scrollbar {Boolean}` kann die Bildlaufleiste aktivieren/deaktivieren (Standard: `false`)

__Gut zu wissen__:

Der Inhalt des `j-Modal` ist in drei Teile unterteilt: `header`, `body` und `footer`. Jeder Teil muss definiert werden. Die Komponente fügt jedem Teil CSS-Klassen hinzu, zum Beispiel enthält der erste `div` `ui-modal-header`, der zweite `ui-modal-body` und der dritte `ui-modal-footer`.

---

Diese Komponente unterstützt die dynamische Auswertung des Inhalts von `<script type="text/html">`. Das folgende Beispiel enthält ein Skript mit HTML und die Komponente wertet den Inhalt aus, ob der j-Modal angezeigt wird (nur einmal).

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

Verwenden Sie es mit `<ui-component name="modal">`. Wenn die Komponente noch nicht geladen ist, lädt jComponent sie bei der ersten Verwendung von der Adresse in `DEF.fallback` herunter (standardmäßig das CDN Componentator). Autor: Peter Širka. Quelle: Componentator-Komponenten-Repository, MIT-Lizenz.

```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>
```
