handlers a znovunacitani dat

kleinpetr
Člen | 480
+
0
-

Zdravim,

rad bych se zeptal jak omezujete zbytecne znovunacitani vsech dat pri volani handleMetod.

Jde mi o to, ze mam napriklad dlouhy form, do ktereho v editu natahnu data pres nejake api. Form obsahuje treba Replicator a dalsi mensi akce, ktere zpracovavaji handleMetody.

Vadi mi to, ze pri kazdem tomto zavolani, se znovu vola api request.

Editoval kleinpetr (3. 2. 2018 19:49)

Martk
Člen | 652
+
0
-

Přesunutím z action do render metody. V handle pravděpodobně voláš sendJson nebo terminate, takže se to nedostane k render metodě. Snad je to, co jsi myslel…

kleinpetr
Člen | 480
+
0
-

sendJson ani terminate nevolam, pouze prekresleni snippetu. Takze terminate asi bude ono !

Diky

F.Vesely
Člen | 368
+
0
-

Si tam dej podminku, ze form naplnis hodnotama jen pokud nebyl odeslan.

kleinpetr
Člen | 480
+
0
-

@F.Vesely jj to mam, ale ted me jeste tak napado, dejme tomu, ze mam komponentu, ktera ma nejake handlers uvnitr sebe.

Mam treba list produktu v eshopu a treba kazdy produkt je komponenta, ktera ma akci pridat do kosiku (pouze priklad)

A neni to nahodou tak, ze kdyz zavolam ajaxove handlePridatDoKosiku() v komponente, tak probehne znovu nacteni cele te akce v presenteru ? tzn znovunacteni vsechn produktu v listu atd ? Pokud ano, tak mi to prijde dost neefektivni. Nebo se mylim ?

Diky za objasneni :)

kleinpetr
Člen | 480
+
0
-

Ahoj,

tak jsem narazil na dasi problem, mam komponentu pro autocomplete, sablona obsahuje formular a samotna Control v sobe obsahuje handleAutocomplete(), ktera dostane nejake $q a pote vrati do sablony $items a prekresli snippet items

Nicmene aby se tohle stalo, tak se zavola cela logika presenteru, ve kterem je komponenta prave nactena. Kdyz dam v komponente $this->redrawControl() a $this->presenter->terminate(), tak mi nevrati nic, jelikoz to nezpracuje.

Je to celkem blby, protoze kdyz pak bude user na nejakej list view a bude mit nacteno 100 a vice polozek a pak napise neco do formu, tak se spusti cele hledani produktu + nakonec hledani v autocomplete.. coz neni moc efektivni

CZechBoY
Člen | 3608
+
0
-

Tak nespouštěj načítání dat ale jen to vyhledávání :-)
Já mám našeptávání dělaný přes $presenter->sendJson($data) a překreslení vůbec nedělám.

kleinpetr
Člen | 480
+
0
-

@CZechBoY jj prekresleni je jednodussi na vykresleni, ale asi je to jedine reseni, napsat kus js kodu, ktery mi bude pridavat ty json items.

CZechBoY
Člen | 3608
+
0
-

Jestli používáš nějakej js plugin tak je to asi stejně jediná možnost jak mu ty data dát.

kleinpetr
Člen | 480
+
0
-

no mam vytvorenej vlastni custom autocomplete, a pouziti snippetu se mi libi v tom, ze nemusim v js bustlit html, nemam to rad, ale hold to jinak nepujde :)

Diky