V prvej časti venovanej widgetu Dojox form manager bol predstavený deklaratívny zápis widgetu a observera. V tejto časti bude zápis observera upravený výsledkom čoho bude lepšie ladenie programového kódu a zároveň odstránenie skriptu z templatu. Pre odstránenie skriptu z templatu je potrebné použiť moduly lang a registry. Prostredníctvom metódy byId() z modulu registry sa identifikuje widget s Dojox form managerom. Prostredníctvom metódy mixin() z modulu lang sa definuje funkcia pre observer. V skutočnosti pôjde o prepísanie pôvodnej prázdnej funkcie. Správanie widgetu bude identické ako z príkladu, ktorý bol uvedený v prvej časti.Skôr ako uvediem programový kód je potrebné ešte upozorniť na problém s rozsahom platnosti premenných (scope). Pre tento účel je potrebné pre observer definovať prostredníctvom HTML atribútu data-dojo-props prázdnu metódu. Bez definovania metódy v atribúte data-dojo-props by vznikla chyba pri parsovaní, kedže parser v čase spracovania widgetu by nenašiel metódu pre observer. Názov metódy musí byť rovnaký ako hodnota v atribúte data-dojo-observer. Príklad: Vytvorenie prázdnej metódy s názvom observerFunction pre observer.
Názov metódy pre observer následne upravíme prostredníctvom metódy mixin(). Preto stačí zadať iba prázdnu funkciu. Ak je použitých viacero metód pre observer, v atribúte data-dojo-props sa od seba oddeľujú čiarkou. Teraz nasleduje kompletný príklad pre prácu s Dojox form managerom a observerom.Príklad: Kompletný príklad, ktorý sa umiestni do elementu <body>.
Uvedený príklad demonštruje ako zapísať observer programaticky, respektíve ako odstrániť skript z templatu a vytvoriť funkčný observer.
Záver
V ďalšej časti sa zameriam na prácu s atribútom data-dojo-attach-point. 5.6.2013 (aktualizované 25.8.2013), Matej LednárKategória: DojoDojo,programovanie,JavaScript,dojo,dojox/form/Manager,observer,intermediateChanges,gatherFormValues,setFormValues,dijit/registry,dojo/_base/langŽiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.Viac informácií nájdete v sekcii O projekte.