Extra rozšíření pro formuláře
- Martk
- Člen | 661
Rozšíření pro Nette formuláře
Features:
- Tvorba formulářů pomocí Provideru (globální nastavení formulářů na jednom místě)
- Událost onProcess
- Tvorba containerů přes tečky
- Podpora pro doctrine entity
- Našeptávání pro doplňky i v container
Doplňky pro formuláře
Features:
- Date (js, nojs)
- Editor (js)
- Mask (js)
- Recaptcha (js, nojs)
- Suggestion, našeptávač (js)
- Tags
Doctrine formuláře
Features:
- Konvertovat entity na array
- Konvertování array na entitu
Multiplier
Klonování formulářů
Wizard
Krokování formulářů
Editoval Antik (1. 8. 2015 15:23)
- Filip Procházka
- Moderator | 4668
Pěkný, ale spíš by bylo lepší kdybys z toho udělal 20 rozšíření, než jedno velké. Umí to moc věcí, než aby se to dalo důvěryhodně používat bez testů.
Ale velká pochvala za to kolik jsi k tomu napsal dokumentace :)
- jakub.barta
- Člen | 10
Napad se mi libi, ale jak uz tu zaznelo – chtelo by to testy a rozpad do x mensich repozitaru
- enumag
- Člen | 2118
Nice, konečně někdo kdo taky používá Codeception. :-)
Máš tam poměrně dost client-side souborů a ne u všech je jasné k čemu slouží. Např. potřebuje Date nějaké javascripty?
EDIT:
Aha, ono to jde vyčíst z https://github.com/…ientSide.php.
Mohl bys z toho udělat composer package prosím? Rád bych to vyzkoušel.
Editoval enumag (25. 6. 2015 15:37)
- Martk
- Člen | 661
Po dlouhém rozhodování jsem to zjednodušil a rozdělil do více repositářů.
Provider +
rozšíření formuláře
Komponenty
Multiplier
(Vyžaduje první rozšíření)
Doctrine
formuláře
Wizard
(Vyžaduje první rozšíření)
Rozšíření pro
NetteForms.js
- enumag
- Člen | 2118
@Antik Není to špatné, ale chtělo by to v některých ohledech posunout na vyšší úroveň. Namátkou:
- composer.json nemá require a require-dev sekce
- místo classmap by bylo lepší použít PSR-4
- spouštění testů přes travis
- lepší coding style + jeho automatická kontrola
- založit na GitHubu organizaci webchemistry
- readme apod. by měly být anglicky, Date by neměl mít jako výchozí formát datumu ten český
- validace že datum je validní máš špatně (hlavně z hlediska možnosti překladu zprávy, není to nette-way)
- působilo by mnohem důvěryhodněji kdybys vystupoval pod svým pravým jménem (teď na tebe nemohu nikde najít ani e-mail natož kdo vlastně jsi – původně jsem ti tyhle návrhy chtěl poslat soukromě)
Kromě posledního bodu jsem schopen a ochoten ti se vším píchnout jestli chceš.
Editoval enumag (10. 8. 2015 14:17)
- David Grudl
- Nette Core | 8218
místo classmap by bylo lepší použít PSR-4
Proč to dělat jednoduše, když to jde složitě? ;-)
- enumag
- Člen | 2118
David Grudl napsal(a):
místo classmap by bylo lepší použít PSR-4
Proč to dělat jednoduše, když to jde složitě? ;-)
http://stackoverflow.com/…ually-faster
Pozn. zrovna classmap vs PSR-4 je nepodstatný detail. Osobně preferuji PSR-4 ale nemám potřebu to nikomu vnucovat.
Editoval enumag (10. 8. 2015 16:24)
- David Matějka
- Moderator | 6445
@DavidGrudl jj taky nechapu, proc nekdo pouziva slozite classmap, kdyz staci jednoduse pouzit psr-4… :P
- Oli
- Člen | 1215
@DavidGrudl měl jsem všude (a stále mám) classmap. To ale znemožňuje/dělá nepohodlným vývoj balíčků. Po přečtení pohodlný vývoj composer balíčků jsem taky začal předělávat na PSR-4. :-)
Uznávám ale, že classmap je nejjednodušší způsob.
- Martk
- Člen | 661
@enumag Díky za seznam věcí co mám vylepšit (kritiku neodsuzuji), určitě se na ně podívám a nahodím ASAP. O radu si napíšu, až si opravdu vědět rady nebudu a nikde na netu nebude ani zmínka o problematice, ale díky ;).
S tím PSR-4 máte pravdu, do teď jsem neviděl rozdíl, ale otevřeli jste mi oči. Ještě jsem hold na začátku s učením a mám co dohánět.
- enumag
- Člen | 2118
@Antik Není zač. Vyber si z toho co libo. Psal jsem to ve smyslu „takhle bych to udělal já“, ale rozhodni se sám co se ti líbí.
K bodu 7 – podívej se jak je udělaná validace
selectu
v Nette. Jako hodnotu té konstanty použij
Class::staticFunctionValidator
, ta magická syntaxe co používá
Nette nejde použít (afaik).
Editoval enumag (10. 8. 2015 17:46)
- Tomáš Jacík
- Člen | 147
@Antik To je skvělá práce a rád bych to začal používat. Ocenil
bych ale trochu lepší dokumentaci. Něco málo jsi tady popsal, ale třeba ta
tečková notace je nejasná – co to umí a co už ne? Zda ten container je
Nette\Forms\Container
nebo co vlastně a takové essential věci,
abych věděl, co to vlastně tvoří a nemusel koukat do kódu.
- Martk
- Člen | 661
@TomášJacík Umí to jenom přidávat/upravovat containery přes tečky. Vrací to WebChemistry\Forms\Container s potomkem Nette\Forms\Container.
Místo:
$container = $form->addContainer('container');
$container->addText('text');
$container->addTextArea('textarea');
Stačí napsat:
$form->addText('container.text');
$form->addTextArea('container.textarea');
Mazání komponent přes tečky bych nahodil příště.
PS: Tu dokumentaci budu muset opravdu doplnit.