* @copyright Copyright © Christoffer Niska 2011- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License * @package bootstrap.widgets.input */ Yii::import('bootstrap.widgets.input.TbInput'); /** * Bootstrap vertical form input widget. * @since 0.9.8 */ class TbInputVertical extends TbInput { /** * Renders a checkbox. * @return string the rendered content */ protected function checkBox() { $attribute = $this->attribute; echo ''; } /** * Renders a toogle button * @return string the rendered content */ protected function toggleButton() { // widget configuration is set on htmlOptions['options'] $options = array( 'model' => $this->model, 'attribute' => $this->attribute ); if(isset($this->htmlOptions['options'])) { $options = CMap::mergeArray($options, $this->htmlOptions['options']); unset($this->htmlOptions['options']); } $options['htmlOptions'] = $this->htmlOptions; echo $this->getLabel(); $this->widget('bootstrap.widgets.TbToggleButton', $options); echo $this->getError().$this->getHint(); } /** * Renders a list of checkboxes. * @return string the rendered content */ protected function checkBoxList() { echo $this->getLabel(); echo $this->form->checkBoxList($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getError().$this->getHint(); } /** * Renders a list of inline checkboxes. * @return string the rendered content */ protected function checkBoxListInline() { $this->htmlOptions['inline'] = true; $this->checkBoxList(); } /** * Renders a drop down list (select). * @return string the rendered content */ protected function dropDownList() { echo $this->getLabel(); echo $this->form->dropDownList($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getError().$this->getHint(); } /** * Renders a file field. * @return string the rendered content */ protected function fileField() { echo $this->getLabel(); echo $this->form->fileField($this->model, $this->attribute, $this->htmlOptions); echo $this->getError().$this->getHint(); } /** * Renders a password field. * @return string the rendered content */ protected function passwordField() { echo $this->getLabel(); echo $this->getPrepend(); echo $this->form->passwordField($this->model, $this->attribute, $this->htmlOptions); echo $this->getAppend(); echo $this->getError().$this->getHint(); } /** * Renders a radio button. * @return string the rendered content */ protected function radioButton() { $attribute = $this->attribute; echo ''; } /** * Renders a list of radio buttons. * @return string the rendered content */ protected function radioButtonList() { echo $this->getLabel(); echo $this->form->radioButtonList($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getError().$this->getHint(); } /** * Renders a list of inline radio buttons. * @return string the rendered content */ protected function radioButtonListInline() { $this->htmlOptions['inline'] = true; $this->radioButtonList(); } /** * Renders a textarea. * @return string the rendered content */ protected function textArea() { echo $this->getLabel(); echo $this->form->textArea($this->model, $this->attribute, $this->htmlOptions); echo $this->getError().$this->getHint(); } /** * Renders a text field. * @return string the rendered content */ protected function textField() { echo $this->getLabel(); echo $this->getPrepend(); echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); echo $this->getAppend(); echo $this->getError().$this->getHint(); } /** * Renders a CAPTCHA. * @return string the rendered content */ protected function captcha() { echo $this->getLabel().'
'; echo '
'.$this->widget('CCaptcha', $this->captchaOptions, true).'
'; echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); echo $this->getError().$this->getHint(); echo '
'; } /** * Renders an uneditable field. * @return string the rendered content */ protected function uneditableField() { echo $this->getLabel(); echo CHtml::tag('span', $this->htmlOptions, $this->model->{$this->attribute}); echo $this->getError().$this->getHint(); } /** * Renders a datepicker field. * @return string the rendered content * @author antonio ramirez */ protected function datepickerField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } echo $this->getLabel(); echo $this->getPrepend(); $this->widget('ext.jui.EJuiDateTimePicker',array( 'model' => $this->model, 'attribute' => $this->attribute, 'mode' => 'date', 'options' => isset($options) ? $options : array(), //'htmlOptions' => $this->htmlOptions, )); echo $this->getAppend(); echo $this->getError().$this->getHint(); } protected function datetimepickerField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } echo $this->getLabel(); echo $this->getPrepend(); $this->widget('ext.jui.EJuiDateTimePicker',array( 'model' => $this->model, 'attribute' => $this->attribute, 'mode' => 'datetime', 'options' => isset($options) ? $options : array(), //'htmlOptions' => $this->htmlOptions, )); echo $this->getAppend(); echo $this->getError().$this->getHint(); } protected function timepickerField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } echo $this->getLabel(); echo $this->getPrepend(); $this->widget('ext.jui.EJuiDateTimePicker',array( 'model' => $this->model, 'attribute' => $this->attribute, 'mode' => 'time', 'options' => isset($options) ? $options : array(), //'htmlOptions' => $this->htmlOptions, )); echo $this->getAppend(); echo $this->getError().$this->getHint(); } /** * Renders a redactorJs. * @return string the rendered content */ protected function redactorJs() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['width'])) { $width = $this->htmlOptions['width']; unset($this->htmlOptions['width']); } if (isset($this->htmlOptions['height'])) { $height = $this->htmlOptions['height']; unset($this->htmlOptions['height']); } echo $this->getLabel(); $this->widget('bootstrap.widgets.TbRedactorJs', array( 'model' => $this->model, 'attribute' => $this->attribute, 'editorOptions' => isset($options) ? $options : array(), 'width' => isset($width) ? $width : '100%', 'height' => isset($height) ? $height : '400px', 'htmlOptions' => $this->htmlOptions )); echo $this->getError().$this->getHint(); } /** * Renders a bootstrap wysihtml5 editor. * @return string the rendered content */ protected function html5Editor() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['width'])) { $width = $this->htmlOptions['width']; unset($this->htmlOptions['width']); } if (isset($this->htmlOptions['height'])) { $height = $this->htmlOptions['height']; unset($this->htmlOptions['height']); } echo $this->getLabel(); $this->widget('bootstrap.widgets.TbHtml5Editor', array( 'model' => $this->model, 'attribute' => $this->attribute, 'editorOptions' => isset($options) ? $options : array(), 'width' => isset($width) ? $width : '100%', 'height' => isset($height) ? $height : '400px', 'htmlOptions' => $this->htmlOptions )); echo $this->getError().$this->getHint(); } /** * Renders a daterange field. * @return string the rendered content * @author antonio ramirez */ protected function dateRangeField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($options['callback'])) { $callback = $options['callback']; unset($options['callback']); } echo $this->getLabel(); echo $this->getPrepend(); $this->widget('bootstrap.widgets.TbDateRangePicker', array( 'model'=>$this->model, 'attribute'=>$this->attribute, 'options'=>isset($options) ? $options : array(), 'callback'=>isset($callback) ? $callback : array(), 'htmlOptions'=>$this->htmlOptions, )); echo $this->getAppend(); echo $this->getError().$this->getHint(); } }