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 | 52
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é)