From 297504c2fce4267df39ab4960df1777dd746689d Mon Sep 17 00:00:00 2001 From: Alexander Makarov Date: Mon, 26 Aug 2013 01:46:13 +0400 Subject: [PATCH] Fixes #21: implemented jQueryUI Slider --- extensions/jui/yii/jui/Slider.php | 68 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 extensions/jui/yii/jui/Slider.php diff --git a/extensions/jui/yii/jui/Slider.php b/extensions/jui/yii/jui/Slider.php new file mode 100644 index 0000000..e1adb2b --- /dev/null +++ b/extensions/jui/yii/jui/Slider.php @@ -0,0 +1,68 @@ + $model, + * 'attribute' => 'amount', + * 'clientOptions' => array( + * 'min' => 1, + * 'max' => 10, + * ), + * )); + * ``` + * + * The following example will use the name property instead: + * + * ```php + * echo Slider::widget(array( + * 'name' => 'amount', + * 'clientOptions' => array( + * 'min' => 1, + * 'max' => 10, + * ), + * )); + *``` + * + * @see http://api.jqueryui.com/slider/ + * @author Alexander Makarov + * @since 2.0 + */ +class Slider extends InputWidget +{ + /** + * Renders the widget. + */ + public function run() + { + echo $this->renderWidget(); + $this->registerWidget('slider', SliderAsset::className()); + } + + /** + * Renders the Slider widget. + * @return string the rendering result. + */ + public function renderWidget() + { + if ($this->hasModel()) { + return Html::activeTextInput($this->model, $this->attribute, $this->options); + } else { + return Html::textInput($this->name, $this->value, $this->options); + } + } +}