j-ListForm
Configuration :
autofocus {String/Boolean}concentre le premier élément d'entrée,stringsignifie un sélecteur personnalisé (par défaut :false)- Texte de liste vide
empty {String}(par défaut :---) default {Boolean}exécute la méthodeDEFAULT()pour la portée du formulaire (par défaut :true)- Le contrôle
required {Boolean}sera "obligatoire" (par défaut :false) enter {Boolean}permet d'utiliserentercomme soumission (par défaut :false)disabled {Boolean}désactive le contrôle (par défaut :false)formclass {String}une classe personnalisée pour le conteneur de formulairesitemclass {String}une classe personnalisée pour le conteneur d'articlescreate {String}un lien vers une fonctionfunction(empty_object, callback(DEFAULT_ITEM_OBJECT), arr)(la valeurnullignore la création)submit {String}un lien vers une fonctionfunction(form_data, callback(NEW_DATA), arr, item_ref_in_items)(la valeurnullignore la mise à jour)update {String}un lien vers une fonctionfunction(form_data, callback(NEW_DATA), arr, item_ref_in_items)(la valeurnullignore la mise à jour)remove {String}un lien vers une fonctionfunction(remove_item, callback(really_remove?), arr)selector {String}un sélecteur jQuery pour template personnalisé (en dehors du composant). Fonctionne commecustom templatedans data-bindingfootertop {Boolean}déplace le pied de page en haut du composant (par défaut :false)move {String}un lien vers une fonctionfunction(items)newbie {String}un nom de propriété pour chaque nouvel élément (il contiendra toujours la valeurtrue)plugin {String}un nom de plugin personnalisé à l'intérieur du composant (par défaut :component.ID)invalidform {Boolean}désactive le composantj-Validatesi lej-ListFormest en mode édition (par défaut :false)- NOUVEAU :
delay {Number}délai initial d'affichage des détails (par défaut :1000ms)
Le composant doit avoir défini 3 modèles enveloppés dans <script type="text/html"> :
1en premier - avec un modèle Tangular pour le rendu de l'élément2deuxième - un formulaire avec des composants (le formulaire sera enveloppé dans une portée isolée)- Pied de page
3- un pied de page avec bouton pour l'articlecreate
Bon à savoir :
Le composant surveille un événement de clic sur tous les boutons avec l'attribut name :
name="submit"effectue la soumission/sauvegarde des données dans le modèlename="update"effectue la soumission/sauvegarde des données dans le modèlename="remove"supprime l'élément actuel du modèlename="cancel"annule l'éditionname="create"crée un formulaire videformcontient la classeui-listform-newlors de la création d'un nouvel élément
Boutons de liste :
name="remove"supprime l'élémentname="up"déplace l'élément vers le hautname="down"déplace l'élément vers le bas
Méthodes :
- NOUVEAU :
component.add()ouvre un formulaire de création d'enregistrement
Utilisez-le avec <ui-component name="listform">. 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.
<style>
.ui-listform-item { height: 26px; line-height: 26px; overflow: hidden; padding: 0 5px; }
button { background-color: white; border-radius: 2px; border: 1px solid #E0E0E0; font-size: 12px; height: 28px; line-height: 27px; padding: 0 10px; }
button i { margin-right: 5px; }
button:disabled { color: gray; background-color: #F8F8F8; }
.ui-dark button { background-color: #303030; border-color: #454545; }
.ui-dark button:disabled { background-color: #252525; color: #404040; }
</style>
<div style="width:400px">
<ui-component name="listform" path="users" config="autofocus:1">
<!-- LIST RENDERING -->
<script type="text/html">
<div>
<div class="pull-right">
<button name="up"><i class="ti ti-arrow-up"></i></button>
<button name="down"><i class="ti ti-arrow-down"></i></button>
<button name="remove"><i class="ti ti-remove"></i></button>
</div>
{{ name }}
</div>
</script>
<!-- FORM RENDERING -->
<script type="text/html">
<div class="padding">
<ui-component name="input" path="?.name" config="required:1" default="''" class="m">Name</ui-component>
<ui-component name="validate" path="?">
<button name="submit"><i class="ti ti-save"></i>Save</button>
<button name="remove">Remove</button>
<button name="cancel">Cancel</button>
</ui-component>
</div>
</script>
<!-- FOOTER -->
<script type="text/html">
<div style="margin-top:10px"><button name="create"><i class="ti ti-plus-circle green"></i>Create new</button></div>
</script>
</ui-component>
<hr />
<ui-bind path="users" config="text:STRINGIFY(value)" style="font-family:monospace" class="block"></ui-bind>
</div>
<script>
var users = [{ name: 'Total.js' }, { name: 'Flow' }, { name: 'jComponent' }];
</script>