Spec-Zone.ru › Yii 1.1

CJuiSliderInput

Пакет zii.widgets.jui
Наследование класс CJuiSliderInput » CJuiInputWidget » CJuiWidget » CWidget » CBaseController » CComponent
С тех пор 1.1
Исходный код framework/zii/widgets/jui/CJuiSliderInput.php
CJuiSliderInput отображает ползунок. Он может использоваться в формах и передавать своё значение.

CJuiSlider инкапсулирует плагин JUI slider.

Для использования этого виджета, вы можете вставить следующий код в представление:
$this->widget('zii.widgets.jui.CJuiSliderInput',array(
    'name'=>'rate',
    'value'=>37,
    // additional javascript options for the slider plugin
    'options'=>array(
        'min'=>10,
        'max'=>50,
    ),
    'htmlOptions'=>array(
        'style'=>'height:20px;',
    ),
));


Виджет также может использоваться в режиме диапазона, который использует 2 ползунка для установки диапазона. В этом режиме, attribute и maxAttribute будут определять имена атрибутов для минимального и максимального значений диапазона соответственно. Например:

$this->widget('zii.widgets.jui.CJuiSliderInput',array(
    'model'=>$model,
    'attribute'=>'timeMin',
    'maxAttribute'=>'timeMax',
    // additional javascript options for the slider plugin
    'options'=>array(
        'range'=>true,
        'min'=>0,
        'max'=>24,
    ),
));


Если вам нужно использовать событие ползунка, пожалуйста, измените значение события на 'stop' или 'change'.

Настроив свойство options, вы можете указать параметры, которые нужно передать плагину JUI slider. Обратитесь к документации JUI Slider API для возможных параметров (имя-значение) и страницы JUI Slider для общего описания и демонстрации.

Общедоступные свойства

Свойство Тип Описание Определено
actionPrefix строка префикс к идентификаторам действий. CWidget
attribute строка атрибут, связанный с этим виджетом. CJuiInputWidget
controller CController Возвращает контроллер, к которому принадлежит этот виджет. CWidget
cssFile смешанный имя файла темы CSS. CJuiWidget
event строка имя события, к которому будет прикреплён ввод для ползунка. CJuiSliderInput
htmlOptions массив атрибуты HTML, которые должны быть отображены в теге HTML, представляющем виджет JUI. CJuiWidget
id строка Возвращает идентификатор виджета или генерирует новый, если требуется. CWidget
maxAttribute строка имя атрибута для максимального значения, если ползунок используется в режиме диапазона. CJuiSliderInput
maxIdSuffix строка суффикс, который будет добавлен к идентификатору элемента ввода максимального значения, когда ползунок используется в режиме диапазона. CJuiSliderInput
maxName строка имя ввода, которое будет использоваться для атрибута максимального значения при использовании ползунка в режиме диапазона. CJuiSliderInput
maxValue целое число определяет максимальное значение ползунка, если есть две ручки (режим диапазона). CJuiSliderInput
model CModel модель данных, связанная с этим виджетом. CJuiInputWidget
name строка имя ввода. CJuiInputWidget
options массив исходные JavaScript-параметры, которые должны быть переданы плагину JUI. CJuiWidget
owner CBaseController Возвращает владельца/создателя этого виджета. CWidget
scriptFile смешанный основной JavaScript-файл JUI. CJuiWidget
scriptUrl строка корневой URL, который содержит все JavaScript-файлы JUI. CJuiWidget
skin смешанный имя скина, которое должно использоваться этим виджетом. CWidget
tagName строка имя контейнерного элемента, который содержит ползунок. CJuiSliderInput
theme строка имя темы JUI. CJuiWidget
themeUrl строка корневой URL, который содержит все папки тем JUI. CJuiWidget
value целое число определяет значение ползунка, если есть только одна ручка. CJuiSliderInput
viewPath строка Возвращает каталог, содержащий файлы представления для этого виджета. CWidget

Публичные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. CComponent
__construct() Конструктор. CWidget
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
actions() Возвращает список действий, используемых этим виджетом. CWidget
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Прикрепляет поведение к данному компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
beginCache() Начинает кеширование фрагмента. CBaseController
beginClip() Начинает запись клипа. CBaseController
beginContent() Начинает отображение содержимого, которое должно быть оформлено указанным представлением. CBaseController
beginWidget() Создает виджет и выполняет его. CBaseController
canGetProperty() Определяет, можно ли считать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
createWidget() Создает виджет и инициализирует его. CBaseController
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает прикрепленное поведение. CComponent
disableBehaviors() Отключает все прикрепленные поведения к этому компоненту. CComponent
enableBehavior() Включает прикрепленное поведение. CComponent
enableBehaviors() Включает все прикрепленные поведения к этому компоненту. CComponent
endCache() Завершает кеширование фрагмента. CBaseController
endClip() Завершает запись клипа. CBaseController
endContent() Завершает отрисовку содержимого. CBaseController
endWidget() Завершает выполнение указанного виджета. CBaseController
evaluateExpression() Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. CComponent
getController() Возвращает контроллер, к которому принадлежит этот виджет. CWidget
getEventHandlers() Возвращает список прикрепленных обработчиков событий для события. CComponent
getId() Возвращает ID виджета или генерирует новый, если требуется. CWidget
getOwner() Возвращает владельца/создателя этого виджета. CWidget
getViewFile() Ищет файл шаблона представления по имени представления. CWidget
getViewPath() Возвращает каталог, содержащий файлы представлений для этого виджета. CWidget
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, имеются ли прикреплённые обработчики для указанного события. CComponent
hasProperty() Определяет, определён ли свойство. CComponent
init() Инициализирует виджет. CJuiWidget
raiseEvent() Вызывает событие. CComponent
render() Отображает представление. CWidget
renderFile() Отображает файл представления. CBaseController
renderInternal() Отображает файл представления. CBaseController
run() Выполнить этот виджет. CJuiSliderInput
setId() Устанавливает ID виджета. CWidget
widget() Создаёт и выполняет виджет. CBaseController

Защищённые методы

Метод Описание Определено в
hasModel() Определяет, связан ли этот виджет с моделью данных. CJuiInputWidget
registerCoreScripts() Регистрирует основные скриптовые файлы. CJuiWidget
registerScriptFile() Регистрирует JavaScript-файл в scriptUrl. CJuiWidget
resolveNameID() Разрешает имя и ID ввода. Свойство source имени и/или свойства source атрибута CJuiInputWidget
resolvePackagePath() Определяет путь установки пакета JUI. CJuiWidget

Подробное описание свойств

event свойство

public string $event;

имя события, к которому будет привязан ввод к ползунку. Может быть 'slide', 'stop' или 'change'. Если нужно использовать событие 'slide', измените свойство $event на 'change'.

maxAttribute свойство

public string $maxAttribute;

имя атрибута для максимального значения, если ползунок используется в режиме диапазона.

maxIdSuffix свойство (доступно начиная с версии v1.1.14)

public string $maxIdSuffix;

приставка, которая добавляется к идентификатору элемента ввода максимального значения, когда ползунок используется в режиме диапазона.

maxName свойство (доступно начиная с версии v1.1.14)

public string $maxName;

имя атрибута ввода для максимального значения, когда используется ползунок в режиме диапазона. Это необходимо задать в случае, если не используется model.

maxValue свойство (доступно начиная с версии v1.1.14)

public integer $maxValue;

определяет максимальное значение ползунка, если есть две ручки (режим диапазона). Игнорируется, если есть только одна ручка.

tagName свойство

public string $tagName;

имя контейнерного элемента, содержащего ползунок. По умолчанию равно 'div'.

value свойство

public integer $value;

определяет значение ползунка, если есть только одна ручка. Если ручек более одной, определяет значение первой ручки.

Подробное описание методов

run() метод

public void run()
Исходный код: framework/zii/widgets/jui/CJuiSliderInput.php#109 (показать)
public function run()
{
    list(
$name,$id)=$this->resolveNameID();
    if(isset(
$this->htmlOptions['id']))
        
$id=$this->htmlOptions['id'];
    else
        
$this->htmlOptions['id']=$id;

    
$isRange=isset($this->options['range']) && $this->options['range'] &&
        
$this->options['range']!=='max' && $this->options['range']!=='min';

    if(
$this->hasModel())
    {
        
$attribute=$this->attribute;
        if(
$isRange)
        {
            
$options=$this->htmlOptions;
            echo 
CHtml::activeHiddenField($this->model,$this->attribute,$options);
            
$options['id'].=$this->maxIdSuffix;
            echo 
CHtml::activeHiddenField($this->model,$this->maxAttribute,$options);
            
$maxAttribute=$this->maxAttribute;
            
$this->options['values']=array($this->model->$attribute,$this->model->$maxAttribute);
        }
        else
        {
            echo 
CHtml::activeHiddenField($this->model,$this->attribute,$this->htmlOptions);
            
$this->options['value']=$this->model->$attribute;
        }
    }
    else
    {
        if(
$isRange)
        {
            list(
$maxName,$maxId)=$this->resolveNameID('maxName','maxAttribute');
            
$options=$this->htmlOptions;
            echo 
CHtml::hiddenField($name,$this->value,$options);
            
$options['id'].=$this->maxIdSuffix;
            echo 
CHtml::hiddenField($maxName,$this->maxValue,$options);
            
$this->options['values']=array($this->value,$this->maxValue);
        }
        else
        {
            echo 
CHtml::hiddenField($name,$this->value,$this->htmlOptions);
            if(
$this->value!==null)
                
$this->options['value']=$this->value;
        }
    }

    
$idHidden=$this->htmlOptions['id'];
    
$this->htmlOptions['id']=$idHidden.'_slider';
    echo 
CHtml::tag($this->tagName,$this->htmlOptions,'');

    
$this->options[$this->event]=$isRange
        
? new CJavaScriptExpression("function(e,ui){ v=ui.values; jQuery('#{$idHidden}').val(v[0]); jQuery('#{$idHidden}{$this->maxIdSuffix}').val(v[1]); }")
        : new 
CJavaScriptExpression("function(event, ui) { jQuery('#{$idHidden}').val(ui.value); }");

    
$options=CJavaScript::encode($this->options);
    
Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}_slider').slider($options);");
}

Выполнить этот виджет. Этот метод регистрирует необходимый JavaScript и рендерит необходимый HTML-код.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CJuiSliderInput

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API