vanterbit / yii2-date-range
An advanced Yii 2 date range picker input for based on bootstrap-daterangepicker plugin.
Installs: 518
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 81
Language:JavaScript
Type:yii2-extension
Requires
- kartik-v/yii2-krajee-base: >=2.0.0
This package is auto-updated.
Last update: 2024-11-04 21:56:14 UTC
README
The preferred way to install this extension is through composer.
Note: Check the composer.json for this extension's requirements and dependencies. Read this web tip /wiki on setting the
minimum-stability
settings for your application's composer.json.
Either run
$ php composer.phar require vanterbit/yii2-date-range "dev-master"
or add
"vanterbit/yii2-date-range": "dev-master"
to the require
section of your composer.json
file.
Usage
DateRangePicker
use vanterbit\daterange\DateRangePicker; echo DateRangePicker::widget([ 'model'=>$model, 'attribute'=>'datetime_range', 'convertFormat'=>true, 'pluginOptions'=>[ 'timePicker'=>true, 'timePickerIncrement'=>30, 'locale'=>[ 'format'=>'Y-m-d h:i A' ] ] ]);
or using seperate min/max attributes on model
use vanterbit\daterange\DateRangePicker; echo DateRangePicker::widget([ 'model'=>$model, 'attribute'=>'datetime_range', 'convertFormat'=>true, 'startAttribute'=>'datetime_min', 'endAttribute'=>'datetime_max', 'pluginOptions'=>[ 'timePicker'=>true, 'timePickerIncrement'=>30, 'locale'=>[ 'format'=>'Y-m-d h:i A' ] ] ]);
DateRangeBehavior
use vanterbit\daterange\DateRangeBehavior; class UserSearch extends User { public $createTimeRange; public $createTimeStart; public $createTimeEnd; public function behaviors() { return [ [ 'class' => DateRangeBehavior::className(), 'attribute' => 'createTimeRange', 'dateStartAttribute' => 'createTimeStart', 'dateEndAttribute' => 'createTimeEnd', ] ]; } public function rules() { return [ // ... [['createTimeRange'], 'match', 'pattern' => '/^.+\s\-\s.+$/'], ]; } public function search($params) { $query = User::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $this->load($params); if (!$this->validate()) { $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['>=', 'createdAt', $this->createTimeStart]) ->andFilterWhere(['<', 'createdAt', $this->createTimeEnd]); return $dataProvider; } }
License
yii2-date-range is released under the BSD-3-Clause License. See the bundled LICENSE.md
for details.