本文整理汇总了PHP中Button::widget方法的典型用法代码示例。如果您正苦于以下问题:PHP Button::widget方法的具体用法?PHP Button::widget怎么用?PHP Button::widget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Button
的用法示例。
在下文中一共展示了Button::widget方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
/**
* Executes the widget.
*/
public function run()
{
Html::addCssClass($this->inputOptions, 'spinner-input form-control');
$this->buttonsConfig = array_merge(['label' => ''], $this->buttonsConfig);
if ($this->hasModel()) {
$input = Html::activeTextInput($this->model, $this->attribute, $this->inputOptions);
} else {
$input = Html::textInput($this->name, $this->value, $this->inputOptions);
}
if ($this->buttonsLocation == self::BUTTONS_LOCATION_VERTICAL) {
$this->buttonsConfig = array_merge($this->buttonsConfig, ['size' => Button::SIZE_MINI]);
}
$btnUp = Button::widget(array_merge($this->buttonsConfig, ['icon' => 'fa fa-angle-up', 'options' => ['class' => 'spinner-up']]));
$btnDown = Button::widget(array_merge($this->buttonsConfig, ['icon' => 'fa fa-angle-down', 'options' => ['class' => 'spinner-down']]));
if ($this->buttonsLocation == self::BUTTONS_LOCATION_VERTICAL) {
$spinner = $input . Html::tag('div', $btnUp . $btnDown, ['class' => 'spinner-buttons input-group-btn btn-group-vertical']);
} else {
$spinner = Html::tag('div', $btnUp . $input . $btnDown, ['class' => 'spinner-buttons input-group-btn']);
}
echo Html::tag('div', Html::tag('div', $spinner, ['class' => 'input-group input-' . $this->size]), $this->options);
SpinnerAsset::register($this->view);
$this->registerPlugin('spinner');
}
示例2: renderButton
/**
* Renders the button.
* @return string the rendering result
*/
protected function renderButton()
{
//$label = Html::tag('span', $this->label, ['class' => 'hidden-sm hidden-xs']);
$label = Html::tag('span', $this->label);
if ($this->split) {
$leftBtn = Button::widget($a = ArrayHelper::merge($this->button, ['label' => $label, 'encodeLabel' => false, 'tagName' => $this->tagName]));
$rightBtn = Button::widget(ArrayHelper::merge($this->button, ['label' => '<i class="fa fa-angle-down"></i>', 'encodeLabel' => false, 'options' => $this->options, 'tagName' => $this->tagName]));
} else {
$label .= ' <i class="fa fa-angle-down"></i>';
if (!isset($this->options['href'])) {
$this->options['href'] = '#';
}
$leftBtn = Button::widget(ArrayHelper::merge($this->button, ['label' => $label, 'encodeLabel' => false, 'options' => $this->options, 'tagName' => $this->tagName]));
$rightBtn = '';
}
return sprintf('%s%s', $leftBtn, $rightBtn);
}
示例3: run
/**
* Executes the widget.
*/
public function run()
{
if (empty($this->clientOptions['format'])) {
$this->clientOptions['format'] = 'MM/DD/YYYY';
}
if (empty($this->labelDateFormat)) {
$this->labelDateFormat = $this->clientOptions['format'];
}
if ($this->hasModel()) {
$hiddenInput = Html::activeHiddenInput($this->model, $this->attribute);
$input = Html::activeTextInput($this->model, $this->attribute);
$name = Html::getInputName($this->model, $this->attribute);
$value = $this->model->{$this->attribute};
$this->options['id'] .= '-picker';
} else {
$hiddenInput = Html::hiddenInput($this->name, $this->value);
$input = Html::textInput($this->name, $this->value, ['class' => 'form-control']);
$name = $this->name;
$value = $this->value;
}
$arrValue = array_map('trim', ($value = explode($this->separator, $value)) ? $value : []);
$callback = '';
$initJS = '';
$lines = [];
switch ($this->mode) {
case self::MODE_ADVANCE:
Html::addCssClass($this->options, 'btn ' . $this->type);
$lines[] = $hiddenInput;
$lines[] = Html::beginTag('div', $this->options);
if (!empty($this->icon)) {
$lines[] = Html::tag('i', '', ['class' => $this->icon]) . ' ';
}
$lines[] = Html::tag('span', ' ');
$lines[] = Html::tag('b', '', ['class' => 'fa fa-angle-down']);
$lines[] = Html::endTag('div');
$callback = "function (start, end) {\n \$('#{$this->options['id']} span')\n .html(start.format('{$this->labelDateFormat}')\n + '{$this->separator}' + end.format('{$this->labelDateFormat} '));\n // set value to hidden input\n \$('input[name=\"{$name}\"]').val(start.format('{$this->clientOptions['format']}')\n + '{$this->separator}' + end.format('{$this->clientOptions['format']}'));\n }";
if (count($arrValue) == 2) {
$initJS = "\n !(function(\$){\n var el = \$('#{$this->options['id']}');\n el.data('daterangepicker')\n .setStartDate(moment('{$arrValue[0]}', '{$this->clientOptions['format']}'));\n el.data('daterangepicker')\n .setEndDate(moment('{$arrValue[1]}', '{$this->clientOptions['format']}'));\n el.find('span')\n .html(moment('{$arrValue[0]}', '{$this->clientOptions['format']}').format('{$this->labelDateFormat}')\n + '{$this->separator}'\n + moment('{$arrValue[1]}', '{$this->clientOptions['format']}').format('{$this->labelDateFormat} '));\n })(jQuery);\n ";
}
break;
case self::MODE_INPUT:
Html::addCssClass($this->options, 'input-group');
$lines[] = Html::beginTag('div', $this->options);
$lines[] = $input;
$lines[] = Html::beginTag('span', ['class' => 'input-group-btn']);
$lines[] = Button::widget(['label' => ' ', 'icon' => $this->icon, 'type' => $this->type, 'iconPosition' => Button::ICON_POSITION_RIGHT]);
$lines[] = Html::endTag('span');
$lines[] = Html::endTag('div');
$callback = "function (start, end) {\n \$('#{$this->options['id']} input')\n .val(start.format('{$this->clientOptions['format']}')\n + '{$this->separator}' + end.format('{$this->clientOptions['format']} '));\n // set value to hidden input\n \$('input[name=\"{$name}\"]').val(start.format('{$this->clientOptions['format']}')\n + '{$this->separator}' + end.format('{$this->clientOptions['format']}'));\n }";
if (count($arrValue) == 2) {
$initJS = "\n !(function(\$){\n var el = \$('#{$this->options['id']}');\n el.data('daterangepicker')\n .setStartDate(moment('{$arrValue[0]}', '{$this->clientOptions['format']}'));\n el.data('daterangepicker')\n .setEndDate(moment('{$arrValue[1]}', '{$this->clientOptions['format']}'));\n el.find('input')\n .val(moment('{$arrValue[0]}', '{$this->clientOptions['format']}').format('{$this->clientOptions['format']}')\n + '{$this->separator}'\n + moment('{$arrValue[1]}', '{$this->clientOptions['format']}').format('{$this->clientOptions['format']} '));\n })(jQuery);\n ";
}
break;
}
echo implode("\n", $lines);
DateRangePickerAsset::register($this->view);
$this->registerPlugin('daterangepicker', $callback);
if (!empty($initJS)) {
$this->view->registerJs($initJS, View::POS_READY);
}
}
示例4: renderButton
/**
* Generates the button dropdown.
* @return string the rendering result.
*/
protected function renderButton()
{
$this->addCssClass($this->buttonOptions, 'btn');
if ($this->split) {
$tag = 'button';
$options = $this->buttonOptions;
$this->buttonOptions['data-toggle'] = 'dropdown';
$this->addCssClass($this->buttonOptions, 'dropdown-toggle');
$splitButton = Button::widget(array('label' => '<span class="caret"></span>', 'encodeLabel' => false, 'options' => $this->buttonOptions));
} else {
$tag = 'a';
$this->label .= ' <span class="caret"></span>';
$options = $this->buttonOptions;
if (!isset($options['href'])) {
$options['href'] = '#';
}
$this->addCssClass($options, 'dropdown-toggle');
$options['data-toggle'] = 'dropdown';
$splitButton = '';
}
return Button::widget(array('tagName' => $tag, 'label' => $this->label, 'options' => $options, 'encodeLabel' => false)) . "\n" . $splitButton;
}
示例5: renderToggleButton
/**
* Renders the toggle button.
* @return string the rendering result
*/
protected function renderToggleButton()
{
if (!empty($this->toggleButton)) {
return Button::widget($this->toggleButton);
} else {
return null;
}
}