mirror of
https://github.com/YunoHost-Apps/limesurvey_ynh.git
synced 2024-09-03 19:36:32 +02:00
87 lines
2.1 KiB
PHP
87 lines
2.1 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* TbDateRangePicker class file.
|
||
|
* @author: antonio ramirez <antonio@clevertech.biz>
|
||
|
* @copyright Copyright © Clevertech 2012-
|
||
|
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
|
||
|
* @package YiiBooster bootstrap.widgets
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* A simple implementation for date range picker for Twitter Bootstrap
|
||
|
* @see http://www.dangrossman.info/2012/08/20/a-date-range-picker-for-twitter-bootstrap/
|
||
|
*/
|
||
|
class TbDateRangePicker extends CInputWidget
|
||
|
{
|
||
|
/**
|
||
|
* @var TbActiveForm when created via TbActiveForm, this attribute is set to the form that renders the widget
|
||
|
* @see TbActionForm->inputRow
|
||
|
*/
|
||
|
public $form;
|
||
|
|
||
|
/**
|
||
|
* @var string $selector
|
||
|
*/
|
||
|
public $selector;
|
||
|
|
||
|
/**
|
||
|
* @var string JS Callback for Daterange picker
|
||
|
*/
|
||
|
public $callback;
|
||
|
/**
|
||
|
* @var array Options to be passed to daterange picker
|
||
|
*/
|
||
|
public $options = array();
|
||
|
/**
|
||
|
* @var array the HTML attributes for the widget container.
|
||
|
*/
|
||
|
public $htmlOptions = array();
|
||
|
|
||
|
/**
|
||
|
* Initializes the widget.
|
||
|
*/
|
||
|
public function init()
|
||
|
{
|
||
|
$this->registerClientScript();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Runs the widget.
|
||
|
*/
|
||
|
public function run()
|
||
|
{
|
||
|
if($this->selector)
|
||
|
{
|
||
|
Yii::app()->bootstrap->registerDateRangePlugin($this->selector, $this->options, $this->callback);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
list($name, $id) = $this->resolveNameID();
|
||
|
|
||
|
if ($this->hasModel())
|
||
|
{
|
||
|
if ($this->form)
|
||
|
echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions);
|
||
|
else
|
||
|
echo CHtml::activeTextField($this->model, $this->attribute, $this->htmlOptions);
|
||
|
|
||
|
}
|
||
|
else
|
||
|
echo CHtml::textField($name, $this->value, $this->htmlOptions);
|
||
|
|
||
|
Yii::app()->bootstrap->registerDateRangePlugin('#' . $id, $this->options, $this->callback);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Registers required css js files
|
||
|
*/
|
||
|
public function registerClientScript()
|
||
|
{
|
||
|
Yii::app()->bootstrap->registerAssetCss('bootstrap-daterangepicker.css');
|
||
|
Yii::app()->bootstrap->registerAssetJs('bootstrap.daterangepicker.js', CClientScript::POS_HEAD);
|
||
|
Yii::app()->bootstrap->registerAssetJs('date.js', CClientScript::POS_HEAD);
|
||
|
|
||
|
}
|
||
|
}
|