PATH:
home
/
letacommog
/
letaweb
/
protected
/
extensions
/
yiibooster
/
widgets
<?php /** *## TbDateRangePicker class file. * * @author: antonio ramirez <antonio@clevertech.biz> * @copyright Copyright © Clevertech 2012- * @license [New BSD License](http://www.opensource.org/licenses/bsd-license.php) */ /** *## 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/> * * @package booster.widgets.forms.inputs */ Yii::import('booster.widgets.TbBaseInputWidget'); class TbDateRangePicker extends TbBaseInputWidget { /** * @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(); /** *### .init() * * Initializes the widget. */ public function init() { $this->registerClientScript(); parent::init(); } /** *### .run() * * Runs the widget. */ public function run() { if ($this->selector) { $this->registerScript($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); } $this->setLocaleSettings(); $this->registerScript('#' . $id, $this->options, $this->callback); } } public function registerScript($selector, $options = array(), $callback = null) { Yii::app()->clientScript->registerScript( uniqid(__CLASS__ . '#', true), '$("' . $selector . '").daterangepicker(' . CJavaScript::encode($options) . ($callback ? ', ' . CJavaScript::encode($callback) : '') . ');' ); } /** *### .setLocaleSettings() * * If user did not provided the names of weekdays and months in $this->options['locale'] * (which he should not care about anyway) * then we populate this names from Yii's locales database. * * This method works with the local properties directly, beware. */ private function setLocaleSettings() { $this->setDaysOfWeekNames(); $this->setMonthNames(); } /** *### .setDaysOfWeekNames() */ private function setDaysOfWeekNames() { if (empty($this->options['locale']['daysOfWeek'])) { $this->options['locale']['daysOfWeek'] = Yii::app()->locale->getWeekDayNames('narrow', true); } } /** *### .setMonthNames() */ private function setMonthNames() { if (empty($this->options['locale']['monthNames'])) { $this->options['locale']['monthNames'] = array_values( Yii::app()->locale->getMonthNames('wide', true) ); } } /** *### .registerClientScript() * * Registers required css js files */ public function registerClientScript() { $booster = Booster::getBooster(); $booster->registerAssetCss('bootstrap-daterangepicker.css'); $booster->registerAssetJs('bootstrap.daterangepicker.js'); $booster->registerPackage('moment'); } }
[+]
..
[-] TbTabView.php
[edit]
[-] TbNavbar.php
[edit]
[-] TbHighCharts.php
[edit]
[-] TbPager.php
[edit]
[-] TbLabel.php
[edit]
[-] TbActiveForm.php
[edit]
[-] TbPanel.php
[edit]
[-] TbJsonButtonColumn.php
[edit]
[-] TbModalManager.php
[edit]
[-] TbToggleColumn.php
[edit]
[-] TbUiLayout.php
[edit]
[-] TbBaseMenu.php
[edit]
[-] widgets.md
[edit]
[-] TbEditableDetailView.php
[edit]
[-] TbButtonGroup.php
[edit]
[-] TbEditable.php
[edit]
[-] TbFileUpload.php
[edit]
[-] TbEditableField.php
[edit]
[-] TbTags.php
[edit]
[-] TbFormButtonElement.php
[edit]
[-] TbFormInputElement.php
[edit]
[-] TbJsonPager.php
[edit]
[-] TbCollapse.php
[edit]
[-] TbBulkActions.php
[edit]
[-] TbRelationalColumn.php
[edit]
[-] TbTabs.php
[edit]
[-] TbModal.php
[edit]
[-] TbExtendedGridView.php
[edit]
[-] TbJumbotron.php
[edit]
[-] TbImageGallery.php
[edit]
[-] TbWidget.php
[edit]
[-] TbMenu.php
[edit]
[-] TbProgress.php
[edit]
[-] TbButtonColumn.php
[edit]
[-] TbJsonToggleColumn.php
[edit]
[-] TbJsonPickerColumn.php
[edit]
[-] TbColorPicker.php
[edit]
[-] TbButtonGroupColumn.php
[edit]
[-] TbSwitch.php
[edit]
[-] TbHeroUnit.php
[edit]
[-] TbDatePicker.php
[edit]
[-] TbJsonCheckBoxColumn.php
[edit]
[-] TbButton.php
[edit]
[-] TbTypeahead.php
[edit]
[-] TbForm.php
[edit]
[-] TbPassfield.php
[edit]
[-] TbEditableColumn.php
[edit]
[-] TbMarkdownEditorJs.php
[edit]
[-] TbPopoverColumn.php
[edit]
[-] TbMarkdownEditor.php
[edit]
[-] TbAlert.php
[edit]
[-] TbGroupGridView.php
[edit]
[-] TbBaseInputWidget.php
[edit]
[-] TbWizard.php
[edit]
[-] TbGroupButtonColumn.php
[edit]
[-] TbExtendedFilter.php
[edit]
[-] TbGoogleVisualizationChart.php
[edit]
[-] TbHtml5Editor.php
[edit]
[-] TbGridView.php
[edit]
[-] TbListView.php
[edit]
[-] TbTimePicker.php
[edit]
[-] TbJsonGridView.php
[edit]
[-] TbCKEditor.php
[edit]
[-] TbTotalSumColumn.php
[edit]
[-] TbDateRangePicker.php
[edit]
[-] TbBadge.php
[edit]
[-] TbDropdown.php
[edit]
[-] TbBreadcrumbs.php
[edit]
[-] TbJsonGridColumn.php
[edit]
[-] TbDateTimePicker.php
[edit]
[-] TbDataColumn.php
[edit]
[-] TbCarousel.php
[edit]
[-] TbJsonDataColumn.php
[edit]
[-] TbRedactorJs.php
[edit]
[-] TbThumbnails.php
[edit]
[-] TbScrollSpy.php
[edit]
[-] TbDetailView.php
[edit]
[+]
input
[-] TbSelect2.php
[edit]
[-] TbImageColumn.php
[edit]