function panels_bootstrap_render_item in Panels Bootstrap Layout Builder 7.3
Same name and namespace in other branches
- 7 plugins/layouts/bootstrap/bootstrap.inc \panels_bootstrap_render_item()
Render a column in the bootstrap layout.
3 calls to panels_bootstrap_render_item()
- panels_ajax_bootstrap_edit_add in plugins/
layouts/ bootstrap/ bootstrap.inc - AJAX responder to add a new row, column or region to a bootstrap layout.
- panels_bootstrap_render_items in plugins/
layouts/ bootstrap/ bootstrap.inc - Render a piece of a bootstrap layout.
- theme_panels_bootstrap_admin in plugins/
layouts/ bootstrap/ bootstrap.inc - Draw the bootstrap layout.
File
- plugins/
layouts/ bootstrap/ bootstrap.inc, line 377
Code
function panels_bootstrap_render_item($renderer, $item, $content, $id, $position, $max, $clear = FALSE) {
$base = $renderer->item_class[$item['type']];
$output = '';
$item_classes = array();
switch ($item['type']) {
case 'container':
if (!empty($item['container_class_add'])) {
$item_classes[] = 'container';
}
if (!empty($item['container_full_class_add']) || !empty($item['container_fluid_class_add'])) {
$item_classes[] = 'container-fluid';
}
if (!empty($item['class'])) {
$item_classes[] = check_plain($item['class']);
}
if (!empty($base) && !empty($item['class_default_add'])) {
$item_classes[] = $base;
}
break;
case 'row':
$item_classes[] = 'row';
if (!empty($item['class'])) {
$item_classes[] = check_plain($item['class']);
}
if (!empty($base) && !empty($item['class_default_add'])) {
$item_classes[] = $base;
}
break;
case 'column':
if (!empty($item['class_default_add'])) {
$item_classes[] = 'column';
}
if (!empty($item['class'])) {
$item_classes[] = check_plain($item['class']);
}
if (!empty($base)) {
$item_classes[] = $base;
}
if (isset($item['bootstrap_class'])) {
$bootstrap_class = $item['bootstrap_class'];
}
else {
$bootstrap_class = array(
'xs' => 'col-xs-12',
'sm' => 'col-sm-12',
'md' => 'col-md-12',
'lg' => 'col-lg-12',
);
}
$item_classes += $bootstrap_class;
break;
case 'region':
if (!empty($base) && !empty($item['class_default_add'])) {
$item_classes[] = $base;
}
if (!empty($item['container_class_add'])) {
$item_classes[] = 'container';
}
if (!empty($item['container_full_class_add']) || !empty($item['container_fluid_class_add'])) {
$item_classes[] = 'container-fluid';
}
if (!empty($item['class'])) {
$item_classes[] = check_plain($item['class']);
}
break;
default:
break;
}
if (!empty($item['wrapper'])) {
$wrapper = $item['wrapper'];
}
else {
$wrapper = 'div';
}
// Define element ID.
if (!empty($item['element_id_default'])) {
$element_id = 'panel-bootstrap-' . $item['type'] . '-' . $id;
}
else {
$element_id = !empty($item['element_id']) ? $item['element_id'] : '';
}
// Make sure we have at least this class for admin ajax calls.
$item_classes[] = $renderer->base[$item['type']] . '-' . $id;
// Adds default classes if needed.
if (!empty($item['class_default_add'])) {
if ($position == 0) {
$item_classes[] = $item['type'] . '-inside-first';
}
if ($position == $max) {
$item_classes[] = $item['type'] . '-inside-last';
}
if ($clear) {
$item_classes[] = 'clearfix';
}
$item_classes[] = 'inside';
}
$element_id = !empty($element_id) ? ' id="' . $element_id . '"' : '';
$element_classes = !empty($item_classes) ? ' class="' . implode(' ', $item_classes) . '"' : '';
$output .= "<{$wrapper} {$element_id} {$element_classes}>\n";
if (!empty($renderer->admin)) {
$output .= panels_bootstrap_render_item_links($renderer, $id, $item);
if ($item['type'] == 'column') {
$output .= '<div class="bootstrap-class-selector clearfix" >';
$output .= panels_bootstrap_render_bootstrap_class_selector($renderer, $id);
$output .= '</div>';
}
}
$output .= $content;
$output .= ' </' . $wrapper . '>' . "\n";
return $output;
}