/** * Get edit box */ private function _getEditbox() { if ($this->editbutton === null || $this->editbutton == true || isset($this->options['data-widget-editbutton']) && $this->options['data-widget-editbutton'] == 'true') { Html::addCssClass($this->editBoxOptions, 'jarviswidget-editbox'); echo Html::tag('div', $this->editBox, $this->editBoxOptions); } }
/** * Datalist input * @param array $items * @param array $options * @return \sersid\smartadmin\ActiveField */ public function datalist($items, $options = []) { $options = array_merge($this->inputOptions, $options); $this->_setWrapperOptions($options); $this->_setIconOptions($options); $this->_setTooltipOptions($options); $this->adjustLabelFor($options); if (!array_key_exists('id', $options)) { $id = Html::getInputId($this->model, $this->attribute); } $listId = $id . '-list'; $options['list'] = $listId; $datalistOptions = ArrayHelper::remove($options, 'datalistOptions', []); $datalistOptions['id'] = array_key_exists('id', $datalistOptions) ? $datalistOptions['id'] . ' ' . $listId : $listId; $this->parts['{input}'] = Html::activeTextInput($this->model, $this->attribute, $options) . Html::tag('datalist', Html::renderSelectOptions(null, $items, $datalistOptions), $datalistOptions); return $this; }
/** * See [[checkbox()]] for details */ public static function checkboxSmart($name, $checked = false, $options = []) { $options['checked'] = (bool) $checked; $value = array_key_exists('value', $options) ? $options['value'] : '1'; if (isset($options['uncheck'])) { // add a hidden field so that if the checkbox is not selected, it still submits a value $hidden = static::hiddenInput($name, $options['uncheck']); unset($options['uncheck']); } else { $hidden = ''; } if (isset($options['label'])) { $label = $options['label']; $labelOptions = isset($options['labelOptions']) ? $options['labelOptions'] : []; unset($options['label'], $options['labelOptions']); $iconOptions = ArrayHelper::remove($options, 'iconOptions', []); $iconTag = ArrayHelper::remove($iconOptions, 'tag', 'i'); $content = static::label(static::input('checkbox', $name, $value, $options) . Html::tag($iconTag, null, $iconOptions) . $label, null, $labelOptions); return $hidden . $content; } else { return $hidden . static::input('checkbox', $name, $value, $options); } }
public function renderSubItems($items) { $lines = []; foreach ($items as $i => $item) { if (isset($item['visible']) && !$item['visible']) { unset($items[$i]); continue; } if (is_string($item)) { $lines[] = $item; continue; } if (!isset($item['label'])) { throw new InvalidConfigException("The 'label' option is required."); } $encodeLabel = isset($item['encode']) ? $item['encode'] : $this->encodeLabels; $label = $encodeLabel ? Html::encode($item['label']) : $item['label']; $label = isset($item['icon']) ? $item['icon'] . ' ' . $label : $label; $label = isset($item['badge']) ? $label . ' ' . $item['badge'] : $label; $options = ArrayHelper::getValue($item, 'options', []); $linkOptions = ArrayHelper::getValue($item, 'linkOptions', []); $content = Html::a($label, ArrayHelper::getValue($item, 'url', '#'), $linkOptions); if (!empty($item['items'])) { $content .= $this->renderSubItems($item['items']); } $lines[] = Html::tag('li', $content, $options); } return Html::tag('ul', implode("\n", $lines)); }