Javascript a AJAX v Nette

- Ondřej Mirtes
 - Člen | 1536
 
Ahoj,
na Poslední sobotě David Steigerwald přislíbil, že se ujme a vylepší
javascriptovou část Nette. Vzhledem k tomu, že AJAX (hlavně snippety) budou
hlavním tématem vývoje verze 1.0-dev, je to výborná příležitost, jak
oprášit a vylepšit věci, jako je třeba validace formulářů. S manikem jsme s Davidem
Steigerwaldem pak chvíli diskutovali a máme si napsat wishlist, co všechno
bychom v Nette rádi měli. Tak já začnu :)
- Podpora tlačítek zpět a vpřed v prohlížeči pomocí řetězce za #.
	To zahrnuje i načtení daného stavu stránky, když uživatel na web přijde
	už přes link, který nějaký validní stav za znakem # obsahuje.
		
- Je potřeba vymyslet, jak má řetězec za # vypadat – jsem pro podobu,
			jak teď v URL vypadají linky na signál,
			
do=signal&signal-parametr=value. 
 - Je potřeba vymyslet, jak má řetězec za # vypadat – jsem pro podobu,
			jak teď v URL vypadají linky na signál,
			
 - Live form validation. Současná komponenta tohoto jména jen nahrazuje klientskou validaci Nette, které obsahuje jen základní pravidla typu required/minlength/maxlength/e-mail. Co je ale skutečně potřeba, to je validace s odezvou na server (AJAX), aby se daly ověřovat i věci jako unikátní nick při registraci. Zde bude potřeba, abychom vymysleli nějaké API formulářů, na které by se dalo AJAXově odkazovat. Nejlepší by bylo propojení s vlastními validačními callbacky.
 - Navěšování všelijakých user-friendly fíčur formulářů pomocí HTML
	tříd – to, co David Steigerwald na PS už ukazoval, např. autoheight
	u textarey :) Zde je potřeba dodat, že současný způsob přiřazování
	tříd formulářovým prvkům v továničce
	(
$form['field']->getControlPrototype()->class('trida')) by pro tenhle účel nebylo zrovna hezké – spásu spatřuji v přepsání ConventionalRendereru do podoby šablony :) 

- Honza Marek
 - Člen | 1664
 
Naprosto se vším souhlasím.
Přidal bych jen dva menší body.
- Podpora nebo možnost integrace jQuery validation pluginu. I když nevím, jak ten si dokáže poradit s nette vypečenostmi typu „když tohle políčko vypadá jako e-mail, tak tamto jiné musí být číslo menší než 3 a tamten checkbox zaškrtnutý“.
 - Aby validační javascript nestrašil celý v html. Stačí tam mít jen nezbytná pravidla a zbytek javascriptu externě.
 

- VasekPurchart
 - Člen | 20
 
Honza Marek napsal(a):
- Nebylo by lepší „jen“ vylepšit aktuální skripty, který to umí? Resp. alespoň ty podmínky přepsat + pak by se na to případně daly navěsit vlastní funkce s akcema, co se má udělat alert/focus/live validation atp
 - pravidla co jsou implementovaná v Nette bych viděl, že by měla mít svůj JS protějšek a vlastní – definované přes callbacky by se řešily všechny AJAXem (standartně – mohlo by to jít samozřejmě změnit) – a pokud možno by ten AJAX celý měl umět vygenerovat kompletně framework jen na základě definovaných pravidel – jako je tomu nyní
 

- Steida
 - Člen | 1
 
Zdravím, předně bych opravil, že se jmenuji Dan, nikoliv David. Díky :-)
S Davidem Grudlem jsem strávil plodnou diskuzí celou noc. (prošli jsme tuším 4 hospody ;)) David mě nijak nezaúkoloval, zatím. Nicméně, můj slib platí. Postarám se o to, aby Javascript, jak kód tak architektura, byl absolutně nejlepší, aby ostatní frameworky měli co dohánět.

- Roman Ožana
 - Člen | 53
 
Honza Marek napsal(a):
Naprosto se vším souhlasím.
Přidal bych jen dva menší body.
- Podpora nebo možnost integrace jQuery validation pluginu. I když nevím, jak ten si dokáže poradit s nette vypečenostmi typu „když tohle políčko vypadá jako e-mail, tak tamto jiné musí být číslo menší než 3 a tamten checkbox zaškrtnutý“.
 - Aby validační javascript nestrašil celý v html. Stačí tam mít jen nezbytná pravidla a zbytek javascriptu externě.
 
Taky se mi nelíbí, jak tam ten javascript straší. Validation plugin by se asi musel kvůli vypečenostem dost přepsat.

- Patrik Votoček
 - Člen | 2221
 
Nemáte někdo zprávy jak to pokročilo/nepokročilo? (nebo je to doopravdy mrtvé)