Dateinput
Formulářový prvek pro výběr data a času.
| Download | https://github.com/…hives/master |
|---|---|
| Github | https://github.com/voda/DateInput |
| Fórum | http://forum.nette.org/…o-vyber-data |
| Autor | Ondřej Vodáček |
| Licence | New BSD License |
Na straně serveru pracuje prvek s objekty DateTime. V prohlížeči používá jqueryUI kalendář s rozšířením timepicker.
Doplněk funguje s Nette verzí 2.0 i s verzí 0.9.x(v gitu ve vlastní větvi).
Závislosti
* jQuery a jQueryUI
* Timepicker addon
Instalace
do šablony vložit potřebné css a js:
<script type='text/javascript' src="{$basePath}/scripts/jquery-ui-timepicker-addon.js"></script>
<script type='text/javascript' src="{$basePath}/scripts/dateInput.js"></script>
<link rel="stylesheet" type="text/css" href="{$basePath}/styles/jquery-ui-timepicker-addon.css">
<link rel="stylesheet" type="text/css" href="{$basePath}/styles/dateInput.css">
do bootstrap přidat registraci:
Vodacek\Forms\Controls\DateInput::register();
Inicializace kalendářů pomocí javascriptu:
$('input[data-dateinput-type]').dateinput({
datetime: {
dateFormat: 'd.m.yy',
timeFormat: 'h:mm'
},
'datetime-local': {
dateFormat: 'd.m.yy',
timeFormat: 'h:mm'
},
date: {
dateFormat: 'd.m.yy'
},
month: {
dateFormat: 'MM yy'
},
week: {
dateFormat: "w. 'týden' yy"
},
time: {
timeFormat: 'h:mm'
}
});
Ukázka
use Vodacek\Forms\Controls\DateInput;
class DatePresenter ... {
public function createComponentDateForm() {
$form = new Nette\Application\UI\Form();
$form->addDate('date', 'Date', DateInput::TYPE_DATE);
$form->addDate('datetime', 'Datetime', DateInput::TYPE_DATETIME);
$form->addDate('datetimeLocal', 'Local datetime', DateInput::TYPE_DATETIME_LOCAL);
$form->addDate('month', 'Month', DateInput::TYPE_MONTH);
$form->addDate('week', 'Week', DateInput::TYPE_WEEK);
$form->addDate('time', 'Time', DateInput::TYPE_TIME);
$form->addSubmit('save', 'Save');
...
return $form;
}
}
Ukázka nefunguje v IE, protože odmítne načíst JS od githubu poslané jako text/plain.
Komentáře 
voda | 13. 7. 2011, 17:13 | comment
Komentáře jsem si všiml až dneska náhodou, takže se omlouvám za zpoždění.. Příště raději na fórum. Zkoušel jsem to teď na jsfiddle s jQuery 1.6.1 a UI 1.8.13 a fungovalo mi to bez problémů. Hlásí to nějakou js chybu?
Casper | 24. 7. 2011, 17:07 | comment
Luxusní doplněk, díky za něj.
Jen snad: řádek 202 v dateInput.js … atribut id nastavený na null mi dělal ve Firefoxu (5.0) problémy (pod celou stránkou pod skončením html nechával prázdné místo o výšce cca 250px, kliknutím do inputu zmizelo).
Hanz | 29. 10. 2011, 14:53 | bug
Nefunguje s nejnovější verzí Timepicker addon. Jde o stejný problém jako popisoval „iguana007“. Nefunguje ovšem pouze pokud se vybírá datum a ne čas. Kdyby to někdo potřeboval zprovoznit tak verze 0.9.3 je ke stažení zde: http://blackboxbus.googlecode.com/…ker-addon.js S verzí 0.9.4 to už nefunguje.

iguana007 | 8. 7. 2011, 0:53 | comment
Je možné, že to nefunguje s jQuery 1.6.1 a UI 1.8.13 a posledním Nette 2.0 dev pro PHP 5.3? Protože i když následuju instrukce, tak se mi po kliku do inputu nic nezobrazí …