The Dojo Toolkit - Unbeatable JavaScript Tools
Szervusztok!
Azt szeretném kideríteni, hogy használja-e egyáltalán valaki ezt a keretrendszert Magyarországon rajtam kívül? Nagyon nagy képességű hasznos eszköz, melyet aktívan használok azonban, ha egy problémára megoldást keresek szinte soha nem kapok magyar nyelvű találatot. Angolt is csak nehezen néha. Jó volna egy hely ahol a tapasztalatokat, problámákat meg tudnám beszélni de nem nagyon találok ilyen helyet. Az egyedüli támasztékot gyarkorlatilag egy elég szűkszavű API és egy gyakrolati példatár adja.
Ezek segítségével is nagyon sokat el lehet érni, azonban egy gyors, rutinos válasz adott esetben sok ősz hajszáltól megkímél adott esetben. :-)
Köszönöm a válaszoat!
sirkalmi
■ Azt szeretném kideríteni, hogy használja-e egyáltalán valaki ezt a keretrendszert Magyarországon rajtam kívül? Nagyon nagy képességű hasznos eszköz, melyet aktívan használok azonban, ha egy problémára megoldást keresek szinte soha nem kapok magyar nyelvű találatot. Angolt is csak nehezen néha. Jó volna egy hely ahol a tapasztalatokat, problámákat meg tudnám beszélni de nem nagyon találok ilyen helyet. Az egyedüli támasztékot gyarkorlatilag egy elég szűkszavű API és egy gyakrolati példatár adja.
Ezek segítségével is nagyon sokat el lehet érni, azonban egy gyors, rutinos válasz adott esetben sok ősz hajszáltól megkímél adott esetben. :-)
Köszönöm a válaszoat!
sirkalmi
Gyere el a mai JavaScript
Messze van az :-)
Köszi az invitálást de pécsi létemre egy kissé nagy kiruccanás volna. :-) A letölthető anyagokat az előadással kapcsolatban kiváncsian várom! Kihasználva az alkalmat, hogy szakértővel van dolgom, esetleg az alőadás anyagába betehetnéd, hogy miben különbözik a dojo.subscribe a dojo.connect-től! ;-)
Minden jót!
sirkalmi
pp online közvetíti az
A
dojo.connect
DOM eseménykezelők felfűzésére való. Adojo.subscribe
a Dojo saját, DOM-tól független eseménykezelő alrendszerében használható események meghirdetésére.Vakarom a fülem tövét
Adott egy dijit.layout.TabContainer benne dijit.layout.ContentPane -ekkel. Minden fülecskére kattintva betöltődik az adott pane tartalma. Ki szerettem volna bővíteni, hogy klikkeléskor ne csak a pane tartalma töltődjék be, hanem egyéb metódusok is fussanak le. Első körben a pane-ekre onClick eseményeket tettem de nem futott le, aztán a container-re próbáltam dojo.connect-el onChange-et tenni de az sem futott le, végül egy kiguglizott dojo.subscribe működni kezdett:
Az API szerint a dijit.layout.TabContainer-ben nincs is esemény kezelés. Nincs event summary rész benne. dijit.layout.AccordionContaner dettó.
sirkalmi
A dojo.publish-lal bejelenthetsz egy hírt
dojo.publish
-lal bejelenthetsz egy hírt. A bejelentést követően lefutnak azok a callbackek, akik ennek a hírnek a bejelentésére vártak. Egy hírhez adojo.subscribe
-bal tudsz felfűzni callbackeket.dojo.publish
-nak második paraméterként átadott tömb elemek a callback függvény argumentumai lesznek.A bejelentett hír bármi lehet. A
dijit.layout.TabContainer
is ezt az eseménykezelő alréteget használja. Egy fül aktiválásakor ID-selectChild típusú hírt közöl. Ezt a hírt te figyelheted, és eszerint vezérelheted az alkalmazásod. Azért praktikus ez, mert egyfelől kattintásra még nem feltétlenül történt tabváltás (így nem kell neked külön figyelned, hogy ugyanaz maradt-e az aktív tab), másfelől aTabContainer
billentyűzettel is vezérelhető, és ha csak az onclicket kezelnéd, billentyűzetvezérelt módban nem futnának le a kívánt funkciók.Azt hiszem értem
dojo.publish("id-method_name");
Mert létezik selectChild metódusa a TabContainer-nek, tehát nem csak egy név ez. Ha így van akkor ez remek dolog és azért nincs dokumentálva, mert ez szerint egyértelmű volna a használata. :-)
sirkalmi
Utánanéztem
dijit.layout.StackContainer
ősosztály jelenti be ezeket a híreket. (Tehát nem automatizált folyamat.)./StackContainer.js:114: dojo.publish(this.id+"-addChild", [child, insertIndex]);
./StackContainer.js:137: dojo.publish(this.id + "-removeChild", [page]);
./StackContainer.js:173: dojo.publish(this.id+"-selectChild", [page]);
./StackContainer.js:228: dojo.publish(this.id+"-containerKeyPress", [{ e: e, page: this}]);
A kézikönyv TabContainer fejezetében szó esik a pub-subról.