本文整理汇总了PHP中kartik\base\Config::isInputWidget方法的典型用法代码示例。如果您正苦于以下问题:PHP Config::isInputWidget方法的具体用法?PHP Config::isInputWidget怎么用?PHP Config::isInputWidget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kartik\base\Config
的用法示例。
在下文中一共展示了Config::isInputWidget方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: renderFormAttribute
/**
* Renders each form attribute
*
* @param array $config the attribute config
*
* @return mixed
* @throws \yii\base\InvalidConfigException
*/
protected function renderFormAttribute($config)
{
if (empty($config['attribute'])) {
return '';
}
$model = ArrayHelper::getValue($config, 'editModel', $this->model);
if (!$model instanceof Model) {
$model = $this->model;
}
$attr = ArrayHelper::getValue($config, 'updateAttr', $config['attribute']);
$input = ArrayHelper::getValue($config, 'type', self::INPUT_TEXT);
$fieldConfig = ArrayHelper::getValue($config, 'fieldConfig', []);
$inputWidth = ArrayHelper::getValue($config, 'inputWidth', '');
$container = ArrayHelper::getValue($config, 'inputContainer', []);
if ($inputWidth != '') {
Html::addCssStyle($container, "width: {$inputWidth}");
// deprecated since v1.7.4
}
$template = ArrayHelper::getValue($fieldConfig, 'template', "{input}\n{error}\n{hint}");
$row = Html::tag('div', $template, $container);
if (static::hasGridCol($container)) {
$row = '<div class="row">' . $row . '</div>';
}
$fieldConfig['template'] = $row;
if (substr($input, 0, 8) == "\\kartik\\") {
Config::validateInputWidget($input, 'as an input widget for DetailView edit mode');
} elseif ($input !== self::INPUT_WIDGET && !in_array($input, self::$_inputsList)) {
throw new InvalidConfigException("Invalid input type '{$input}' defined for the attribute '" . $config['attribute'] . "'.");
}
$options = ArrayHelper::getValue($config, 'options', []);
$widgetOptions = ArrayHelper::getValue($config, 'widgetOptions', []);
$class = ArrayHelper::remove($widgetOptions, 'class', '');
if (!empty($config['options'])) {
$widgetOptions['options'] = $config['options'];
}
if (Config::isInputWidget($input)) {
$class = $input;
return $this->_form->field($model, $attr, $fieldConfig)->widget($class, $widgetOptions);
}
if ($input === self::INPUT_WIDGET) {
if ($class == '') {
throw new InvalidConfigException("Widget class not defined in 'widgetOptions' for {$input}'.");
}
return $this->_form->field($model, $attr, $fieldConfig)->widget($class, $widgetOptions);
}
if (in_array($input, self::$_dropDownInputs)) {
$items = ArrayHelper::getValue($config, 'items', []);
return $this->_form->field($model, $attr, $fieldConfig)->{$input}($items, $options);
}
if ($input == self::INPUT_HTML5_INPUT) {
$inputType = ArrayHelper::getValue($config, 'inputType', self::INPUT_TEXT);
return $this->_form->field($model, $attr, $fieldConfig)->{$input}($inputType, $options);
}
return $this->_form->field($model, $attr, $fieldConfig)->{$input}($options);
}
示例2: renderFormFields
/**
* Renders the editable form fields
*
* @return string
*/
protected function renderFormFields()
{
echo $this->parseTemplate('templateBefore');
echo Html::hiddenInput('hasEditable', 0) . "\n";
if ($this->beforeInput !== null) {
if (is_string($this->beforeInput)) {
echo $this->beforeInput . "\n";
} else {
echo call_user_func($this->beforeInput, $this->_form, $this) . "\n";
}
}
if ($this->inputType === self::INPUT_HTML5_INPUT) {
echo $this->renderHtml5Input() . "\n";
} elseif ($this->inputType === self::INPUT_WIDGET) {
echo $this->renderWidget($this->widgetClass) . "\n";
} elseif (Config::isHtmlInput($this->inputType)) {
echo $this->renderInput() . "\n";
} elseif (Config::isInputWidget($this->inputType)) {
echo $this->renderWidget($this->inputType) . "\n";
}
if ($this->afterInput !== null) {
if (is_string($this->afterInput)) {
echo $this->afterInput . "\n";
} else {
echo call_user_func($this->afterInput, $this->_form, $this) . "\n";
}
}
echo $this->parseTemplate('templateAfter');
}
示例3: renderFormFields
/**
* Renders the editable form fields
*
* @return string
*/
protected function renderFormFields()
{
echo $this->parseTemplate('templateBefore');
echo Html::hiddenInput('hasEditable', 0) . "\n";
$before = $this->beforeInput;
$after = $this->afterInput;
if ($before !== null && is_string($before) || is_callable($before)) {
echo (is_callable($before) ? call_user_func($before, $this->_form, $this) : $before) . "\n";
}
if ($this->inputType === self::INPUT_HTML5_INPUT) {
echo $this->renderHtml5Input() . "\n";
} elseif ($this->inputType === self::INPUT_WIDGET) {
echo $this->renderWidget($this->widgetClass) . "\n";
} elseif (Config::isHtmlInput($this->inputType)) {
echo $this->renderInput() . "\n";
} elseif (Config::isInputWidget($this->inputType)) {
echo $this->renderWidget($this->inputType) . "\n";
}
if ($after !== null && is_string($after) || is_callable($after)) {
echo (is_callable($after) ? call_user_func($after, $this->_form, $this) : $after) . "\n";
}
echo $this->parseTemplate('templateAfter');
}
示例4: renderFormAttribute
/**
* Renders each form attribute
*
* @param array $config the attribute config
*
* @return mixed
* @throws \yii\base\InvalidConfigException
*/
protected function renderFormAttribute($config)
{
if (empty($config['attribute'])) {
return '';
}
$attr = ArrayHelper::getValue($config, 'updateAttr', $config['attribute']);
$input = ArrayHelper::getValue($config, 'type', self::INPUT_TEXT);
$fieldConfig = ArrayHelper::getValue($config, 'fieldConfig', []);
$inputWidth = ArrayHelper::getValue($config, 'inputWidth', '');
if ($inputWidth != '') {
$template = ArrayHelper::getValue($fieldConfig, 'template', "{input}\n{error}\n{hint}");
$fieldConfig['template'] = "<div style='width:{$inputWidth};'>{$template}</div>";
}
if (substr($input, 0, 8) == "\\kartik\\") {
Config::validateInputWidget($input, 'as an input widget for DetailView edit mode');
} elseif ($input !== self::INPUT_WIDGET && !in_array($input, self::$_inputsList)) {
throw new InvalidConfigException("Invalid input type '{$input}' defined for the attribute '" . $config['attribute'] . "'.");
}
$options = ArrayHelper::getValue($config, 'options', []);
$widgetOptions = ArrayHelper::getValue($config, 'widgetOptions', []);
$class = ArrayHelper::remove($widgetOptions, 'class', '');
if (!empty($config['options'])) {
$widgetOptions['options'] = $config['options'];
}
if (Config::isInputWidget($input)) {
$class = $input;
return $this->_form->field($this->model, $attr, $fieldConfig)->widget($class, $widgetOptions);
}
if ($input === self::INPUT_WIDGET) {
if ($class == '') {
throw new InvalidConfigException("Widget class not defined in 'widgetOptions' for {$input}'.");
}
return $this->_form->field($this->model, $attr, $fieldConfig)->widget($class, $widgetOptions);
}
if (in_array($input, self::$_dropDownInputs)) {
$items = ArrayHelper::getValue($config, 'items', []);
return $this->_form->field($this->model, $attr, $fieldConfig)->{$input}($items, $options);
}
if ($input == self::INPUT_HTML5_INPUT) {
$inputType = ArrayHelper::getValue($config, 'inputType', self::INPUT_TEXT);
return $this->_form->field($this->model, $attr, $fieldConfig)->{$input}($inputType, $options);
}
return $this->_form->field($this->model, $attr, $fieldConfig)->{$input}($options);
}
示例5: renderFormFields
/**
* Renders the editable form fields
*
* @return string
*/
protected function renderFormFields()
{
$out = Html::hiddenInput('hasEditable', 0) . "\n";
if ($this->beforeInput !== null) {
if (is_string($this->beforeInput)) {
$out .= $this->beforeInput . "\n";
} else {
$out .= call_user_func($this->beforeInput, $this->_form, $this) . "\n";
}
}
if ($this->inputType === self::INPUT_HTML5_INPUT) {
$out .= $this->renderHtml5Input() . "\n";
} elseif ($this->inputType === self::INPUT_WIDGET) {
$out .= $this->renderWidget($this->widgetClass) . "\n";
} elseif (Config::isHtmlInput($this->inputType)) {
$out .= $this->renderInput() . "\n";
} elseif (Config::isInputWidget($this->inputType)) {
$out .= $this->renderWidget($this->inputType) . "\n";
}
if ($this->afterInput !== null) {
if (is_string($this->afterInput)) {
$out .= $this->afterInput . "\n";
} else {
$out .= call_user_func($this->afterInput, $this->_form, $this) . "\n";
}
}
return $out;
}
示例6: renderFilterCellContent
/**
* Renders filter inputs based on the `filterType`
*
* @return string
*/
protected function renderFilterCellContent()
{
$content = parent::renderFilterCellContent();
$chkType = !empty($this->filterType) && $this->filterType !== GridView::FILTER_CHECKBOX && $this->filterType !== GridView::FILTER_RADIO && !class_exists($this->filterType);
if ($this->filter === false || empty($this->filterType) || $content === $this->grid->emptyCell || $chkType) {
return $content;
}
$widgetClass = $this->filterType;
$options = ['model' => $this->grid->filterModel, 'attribute' => $this->attribute, 'options' => $this->filterInputOptions];
if (is_array($this->filter)) {
if (Config::isInputWidget($this->filterType) && $this->grid->pjax) {
$options['pjaxContainerId'] = $this->grid->pjaxSettings['options']['id'];
}
if ($this->filterType === GridView::FILTER_SELECT2 || $this->filterType === GridView::FILTER_TYPEAHEAD) {
$options['data'] = $this->filter;
}
if ($this->filterType === GridView::FILTER_RADIO) {
return Html::activeRadioList($this->grid->filterModel, $this->attribute, $this->filter, $this->filterInputOptions);
}
}
if ($this->filterType === GridView::FILTER_CHECKBOX) {
return Html::activeCheckbox($this->grid->filterModel, $this->attribute, $this->filterInputOptions);
}
$options = ArrayHelper::merge($this->filterWidgetOptions, $options);
/** @var \kartik\base\Widget $widgetClass */
return $widgetClass::widget($options);
}