Date/Time Picker widget for Yii2 framework
Based on Eonasdan's Bootstrap 3 Date/Time Picker
Since this is a part of yii2-starter-kit it's demo can be found in starter kit demo here.
Login: webmaster
Password: webmaster
Make sure you have fxp/composer-asset-plugin installed:
composer global require fxp/composer-asset-plugin
The preferred way to install this extension is through composer.
Either run
php composer.phar require trntv/yii2-datetime-widget
or add
"trntv/yii2-datetime-widget": "*"
to the require section of your composer.json file.
Once the extension is installed, simply use it in your code by :
<?php echo $form->field($model, 'attribute')->widget(
'trntv\yii\datetime\DateTimeWidget',
[ ... options ... ]
);
?>phpDatetimeFormat - PHP ICU datetime format (Default: dd.MM.yyyy, HH:mm)
momentDatetimeFormat - Moment JS datetime format (Default: DD.MM.YYYY, HH:mm)
showAddon - show or hide input-addon (Default: true)
addonContent - addon content
phpMomentMapping - formats map (Default: true)
containerOptions - widget container optionsgit
clientOptions - full list of available options
*** Note:
to enable widget show on textbox focus when used in a button group, use allowInputToggle option:
...
'clientOptions' => [
'allowInputToggle' => true
]
...ActiveField input widget:
<?php echo $form->field($model, 'datetime')->widget(
'trntv\yii\datetime\DateTimeWidget',
[
'phpDatetimeFormat' => 'yyyy-MM-dd\'T\'HH:mm:ssZZZZZ',
'clientOptions' => [
'minDate' => new \yii\web\JsExpression('new Date("2015-01-01")'),
'allowInputToggle' => false,
'sideBySide' => true,
'locale' => 'zh-cn',
'widgetPositioning' => [
'horizontal' => 'auto',
'vertical' => 'auto'
]
]
]
]); ?>Standalone widget for date only:
<?php echo trntv\yii\datetime\DateTimeWidget::widget([
'phpDatetimeFormat' => 'yyyy-MM-dd',
]) ; ?>Add custom JS events:
<?php echo trntv\yii\datetime\DateTimeWidget::widget([
'clientEvents' => [
'dp.change' => 'function(e){
console.log('dp.change');
}',
],
]) ; ?>