j-ListForm
Konfigurácia:
autofocus {String/Boolean}zaostrí prvý vstupný prvok,stringznamená vlastný volič (predvolené:false)- Text prázdneho zoznamu
empty {String}(predvolené:---) default {Boolean}vykoná metóduDEFAULT()pre rozsah formulára (predvolené:true)- Bude "vyžadované" ovládanie
required {Boolean}(predvolené:false) enter {Boolean}umožňuje použiťenterako odoslanie (predvolené:false)disabled {Boolean}deaktivuje ovládanie (predvolené:false)formclass {String}vlastná trieda pre kontajner formulárovitemclass {String}vlastná trieda pre kontajner položiekcreate {String}prepojenie na funkciufunction(empty_object, callback(DEFAULT_ITEM_OBJECT), arr)(hodnotanullpreskočí vytváranie)submit {String}prepojenie na funkciufunction(form_data, callback(NEW_DATA), arr, item_ref_in_items)(hodnotanullpreskočí aktualizáciu)update {String}prepojenie na funkciufunction(form_data, callback(NEW_DATA), arr, item_ref_in_items)(hodnotanullpreskočí aktualizáciu)remove {String}prepojenie na funkciufunction(remove_item, callback(really_remove?), arr)selector {String}selektor jQuery pre vlastnú šablónu (mimo komponentu). Funguje akocustom templatev data-bindingfootertop {Boolean}presunie pätu v hornej časti komponentu (predvolené:false)move {String}prepojenie na funkciufunction(items)newbie {String}názov vlastnosti pre každú novú položku (vždy bude obsahovať hodnotutrue)plugin {String}vlastný názov doplnku vo vnútri komponentu (predvolené:component.ID)invalidform {Boolean}deaktivuje komponentj-Validate, ak jej-ListFormv režime úprav (predvolené:false)- NEW:
delay {Number}počiatočné oneskorenie zobrazenia detailov (predvolené:1000ms)
Komponent musí mať definované 3 šablóny zabalené v <script type="text/html">:
- Najprv
1- so šablónou Tangular na vykreslenie položky 2druhý - formulár s komponentmi (formulár bude zabalený v izolovanom rozsahu)- päta
3- päta s tlačidlom pre položkucreate
Dobré vedieť:
Komponent sleduje udalosť kliknutia na všetkých tlačidlách s atribútom name:
name="submit"vykoná odoslanie/uloženie údajov do modeluname="update"vykoná odoslanie/uloženie údajov do modeluname="remove"odstráni aktuálnu položku z modeluname="cancel"ruší úpravuname="create"vytvorí prázdny formulárformobsahuje trieduui-listform-newpri vytváraní novej položky
Tlačidlá zoznamu:
name="remove"odstráni položkuname="up"presunie položku nahorname="down"presunie položku nadol
Metódy:
- NOVINKA:
component.add()otvorí formulár na vytvorenie záznamu
Použite ho so <ui-component name="listform">. Keď komponent ešte nie je načítaný, jComponent ho stiahne pri prvom použití z adresy v DEF.fallback (predvolene CDN Componentator). Autor: Peter Širka. Zdroj: úložisko komponentov Componentator, licencia 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>