Volání redrawControl ve smyčce

Failips
Člen | 54
+
0
-

Ahoj,

mám formulár na odosielanie emailov a v snippete mám progressbar k aktuálnemu stavu odosielania emailov. Pri potvrdení formuláru do presenteru pošlem zoznam príjemcov, predmet správy a obsah správy. Následne v presenteri postupne vo for slučke posielam emaily jednotlivým príjemcom. Po odoslaní emailu sa počítadlo inkrementuje o 1 a potreboval by som urobiť update tejto hodnoty v snippete pomocou funkcie redrawControl(). Tá však vykoná refresh snippetu až na konci funkcie, ktorá je v callbacku form->onSubmit().

Neviete ako by to bolo možné implementovať tak, aby sa redrawControl() vykonal vždy keď ho zavolám?

Na internete sa mi nepodarilo nájsť riešenie a tak sa pýtam tu. Za každú radu ďakujem.

Šaman
Člen | 2528
+
0
-

AJAX a redrawControl() zařizují jen vykreslení části stránky bez refreshe adresy, ale v principu se stále jedná o request-response. A vykreslí se vždy až na konci té response.

Takže potřebuješ vždy nový request (po každém odeslání zavolat nějaký handleIncrement()), nebo jiné řešení (vlastní JS a nějak mu říct, že má přepsat tu hodnotu odeslaných mailů).

Editoval Šaman (16. 10. 2019 11:58)

David Matějka
Moderator | 6351
+
0
-

Jedna z možností je použít https://developer.mozilla.org/…-sent_events

Failips
Člen | 54
+
0
-

Ďakujem. Mohol by som poprosiť aj nejaké tipy ako by som to konrétne mohol naimplementovať? Neviem prísť na spôsob ako prepojiť callback form->onSubmit() a daný skript. Skúsil som ako cestu k skriptu zadať aj link na handle metódu v presenteri, v ktorom je daný callback ale ich scope je rozdielny a teda nevidia rovnaké hodnoty premenných.