protected function renderPanel()
{
if (!$this->bootstrap || !is_array($this->panel) || empty($this->panel)) {
return;
}
$type = ArrayHelper::getValue($this->panel, 'type', 'default');
$heading = ArrayHelper::getValue($this->panel, 'heading', '');
$footer = ArrayHelper::getValue($this->panel, 'footer', '');
$before = ArrayHelper::getValue($this->panel, 'before', '');
$after = ArrayHelper::getValue($this->panel, 'after', '');
$headingOptions = ArrayHelper::getValue($this->panel, 'headingOptions', []);
$footerOptions = ArrayHelper::getValue($this->panel, 'footerOptions', []);
$beforeOptions = ArrayHelper::getValue($this->panel, 'beforeOptions', []);
$afterOptions = ArrayHelper::getValue($this->panel, 'afterOptions', []);
$panelHeading = '';
$panelBefore = '';
$panelAfter = '';
$panelFooter = '';
if ($heading !== false) {
static::initCss($headingOptions, 'panel-heading');
$content = strtr($this->panelHeadingTemplate, ['{heading}' => $heading]);
$panelHeading = Html::tag('div', $content, $headingOptions);
}
if ($footer !== false) {
static::initCss($footerOptions, 'panel-footer');
$content = strtr($this->panelFooterTemplate, ['{footer}' => $footer]);
$panelFooter = Html::tag('div', $content, $footerOptions);
}
if ($before !== false) {
static::initCss($beforeOptions, 'kv-panel-before');
$content = strtr($this->panelBeforeTemplate, ['{before}' => $before]);
$panelBefore = Html::tag('div', $content, $beforeOptions);
}
if ($after !== false) {
static::initCss($afterOptions, 'kv-panel-after');
$content = strtr($this->panelAfterTemplate, ['{after}' => $after]);
$panelAfter = Html::tag('div', $content, $afterOptions);
}
$this->layout = strtr($this->panelTemplate, ['{panelHeading}' => $panelHeading, '{prefix}' => $this->panelPrefix, '{type}' => $type, '{panelFooter}' => $panelFooter, '{panelBefore}' => $panelBefore, '{panelAfter}' => $panelAfter]);
}