Pohyb v rámci Widget

Pohyb von z GUIEvent

Typicke callbacky

blur(form,item)
focus(form,item)
editorEnter(form,item,val)
editorExit(form,item,val)
keyPress(form,item,key)
click(form,item)okrem titleField, infoField a descriptionField môže pridávať Tagy alebo thumbnail image. Hovorí, že objekt má meta informácie použiteľne v HTML, SEO
doubleClick(form,item)
titleClick(form,item)
titleDoubleClick(form,item)
formatEditorValue(val,rec,form,item)
formatValue(val,rec,form,item)
parseEditor(val,form,item)
change(form,item,val,old)obsahuje pole version (server optimistic-locking). mohol by umožniť merge počas konfliktu
changed(form,item,val)obsahuje údaje pre zobrazenie v čase (napr. v kalendári či dashboarde), potrebuje infoField/descriptionField a dátumy zatiatok, koniec a voliteľný kedy presne zobraziť. isEvent = legacy DS property
defaultDynamicValue(item,form,rec)definuje kategorizáciu podľa Tagov
showIf

Form

Každý Item sa nachádza vo Form, a ten môže byť súčasťou nadradeného Formu. Taktiež môže Item vytvárať vnorené Formy v rámci dátovej štruktúry alebo gui layoutu.

var form = this.form || this.getForm();
var pform = this.getParentForm();
var chform = this.getChildForm();

ValuesManager

DynamicForm spája hodnoty do Objektu (páry name: value) a VM spája viacero Formov do jedného celku.

VM nemá vizuálnu reprezentáciu.

var vm = ValuesManager.create(); var form1 = DynamicForm.create({valuesManager: vm); var form2 = DynamicForm.create(); vm.addMember(form2); form1.valuesManager == vm.getMember(0); form2.valuesManager == vm.members[1];

Obe triedy majú dostatočne podobne fungujúce metódy pri písaní kódu, pričom zavolané nad Formom fungujú len v rámci neho, a nad VM vo všetkých obsiahnutých Formoch.

editRecord(rec)
clearRecord()
getValue(name)
setValue(name)
clearValue(name)
getItem(name)
validate()

Získanie ValuesManager

var vm = this.getVm();var vm = this.getVm();
var pvm = this.getParentVm();
var chvm = this.getChildVm();vráti vnorený VM, ak this Item
var svm = this.getSourceVm();

Widget context

Widget je častokrát majiteľom VM.

var W = this.getWidget()== this.form.widget
var pW = this.getParentWidget()
var chW = this.getChildWidget()
var sW = this.getSourceWidget()