[addon datepicker-plus] DatePicker+

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jan Tvrdík
Nette guru | 2595
+
0
-

DatePicker+

DatePicker+ je nová komponenta pro výběr data.

  • Interně pracuje s DateTime ⇒ metoda getValue() vrací vždy buď instanci DateTime nebo NULL.
  • Generuje validní HTML 5 kód.
  • Pro vykreslení kalendáříku používá jQuery UI DatePicker s fallbackem na HTML5 a následně HTML 4. (Pokud prohlížeč nepodporuje ani JS ani HTML 5, zobrazí se běžné textové pole, do kterého uživatel zadá datum ručně.)
  • Umožňuje omezit minimální a maximální datum, které lze zvolit.

Další informace najdete na https://componette.org/search/?….

jtousek
Člen | 951
+
0
-

Hezké. Dovolím si několik poznámek:

  1. Formát data, které použije jQuery UI není úplně vhodné řešit takto. Lepší je řešit to přes lokalizace. Oficiální lokalizační soubory pro datepicker jsou zde.
  2. $minDate a $maxDate by neměly být vlastnosti prvku ale spíše hodnota pro validátor RANGE.

Časem by se také hodilo něco podobného na Time a DateTime. Popravdě jsem se chystal všechny 3 až David uvolní nové formuláře.

Btw. pojmenoval bych to spíš na „Date“ než „DatePicker“ – to že se v prohlížeči náhodou použije datepicker s tím moc nesouvisí.

Jan Tvrdík
Nette guru | 2595
+
0
-

Díky za připomínky. Jsem rád za podnětné nápady na zlepšení. V zásadě souhlasím jak s (1), tak s (2). Přemýšlím, zda má někdy smysl upravit formát data speciálně pro jeden konkrétní prvek.

Název Date se mi nelíbí. Představím si pod ním obecnou reprezentaci data, nikoliv formulářový prvek. Možná by se nad tím dalo uvažovat v případě, že by to bylo ve jmenném prostoru FormControls, ale prozatím se jednoznačně přikláním k současnému názvu.

jtousek
Člen | 951
+
0
-

Formát data je závislý na lokalizaci. Stránky, na kterých je část v jazyce x a část v jazyce y jsou velmi vzácné. A aby to bylo ve stejném formuláři a ještě ke všemu n dvou datepickerech to si představit opravdu nedokážu.

Popravdě se mi docela líbí řešení Symfony. Všechny třídy formulářových prvků končí na „Field“ a pod třídou DateField už si to představím snadno. Docela doufám že se něco podobného nebo klidně přesně totéž objeví v nových Nette formulářích.

//EDIT: Ještě teoretičtěji nějaký formát data by měla řešit šablona a ideální by bylo, aby se to automaticky odeslalo v nějakém univerzálním formátu – tedy, aby tato třída nemusela ten formát co použil uživatel vůbec znát a v závislosti na něm tvořit DateTime objekt. (Samozřejmě bez JS je něco takového nemožné.)

Editoval jtousek (8. 12. 2010 13:02)