function panels_bootstrap_create_renderer in Panels Bootstrap Layout Builder 7.3
Same name and namespace in other branches
- 7 plugins/layouts/bootstrap/bootstrap.inc \panels_bootstrap_create_renderer()
Create a renderer object.
The renderer object contains data that is passed around from function to function allowing us to render our CSS and HTML easily.
@todo Convert the functions to methods and make this properly OO.
5 calls to panels_bootstrap_create_renderer()
- 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_ajax_bootstrap_edit_remove in plugins/
layouts/ bootstrap/ bootstrap.inc - AJAX responder to remove an existing row, column or region from a bootstrap layout.
- panels_ajax_bootstrap_edit_settings in plugins/
layouts/ bootstrap/ bootstrap.inc - AJAX responder to edit bootstrap settings for an item.
- theme_panels_bootstrap in plugins/
layouts/ bootstrap/ bootstrap.inc - Draw the bootstrap layout.
- theme_panels_bootstrap_admin in plugins/
layouts/ bootstrap/ bootstrap.inc - Draw the bootstrap layout.
File
- plugins/
layouts/ bootstrap/ bootstrap.inc, line 171
Code
function panels_bootstrap_create_renderer($admin, $css_id, $content, $settings, &$display, $layout, $handler) {
$renderer = new stdClass();
$renderer->settings = $settings;
$renderer->content = $content;
$renderer->css_id = $css_id;
$renderer->did =& $display->did;
if ($admin) {
// always scale in admin mode.
$renderer->scale_base = 99.0;
}
$renderer->id_str = $css_id ? 'id="' . $css_id . '"' : '';
$renderer->admin = $admin;
$renderer->handler = $handler;
// Set up basic classes for all of our components.
$renderer->name = !empty($layout['layout']) ? $layout['layout']->name : $display->did;
$renderer->base_class = $renderer->name;
$renderer->item_class['column'] = 'panels-bootstrap-column';
$renderer->item_class['container'] = 'panels-bootstrap-container';
$renderer->item_class['row'] = 'panels-bootstrap-row';
$renderer->item_class['region'] = 'panels-bootstrap-region';
$renderer->base['canvas'] = 'panels-bootstrap-' . $renderer->base_class;
// Override these if selected from the UI and not in admin mode.
if (!$admin) {
if (!empty($settings['items']['canvas']['class'])) {
$renderer->base_class = $settings['items']['canvas']['class'];
$renderer->base['canvas'] = $renderer->base_class;
}
if (!empty($settings['items']['canvas']['column_class'])) {
$renderer->item_class['column'] = $settings['items']['canvas']['column_class'];
}
if (!empty($settings['items']['canvas']['row_class'])) {
$renderer->item_class['row'] = $settings['items']['canvas']['row_class'];
}
if (!empty($settings['items']['canvas']['region_class'])) {
$renderer->item_class['region'] = $settings['items']['canvas']['region_class'];
}
if (!empty($settings['items']['canvas']['container_class'])) {
$renderer->item_class['container'] = $settings['items']['canvas']['container_class'];
}
}
// Make some appended classes so it's easier to reference them.
$renderer->base['column'] = $renderer->item_class['column'] . '-' . $renderer->base_class;
$renderer->base['row'] = $renderer->item_class['row'] . '-' . $renderer->base_class;
$renderer->base['region'] = $renderer->item_class['region'] . '-' . $renderer->base_class;
$renderer->base['container'] = $renderer->item_class['container'] . '-' . $renderer->base_class;
if ($renderer->name != 'new') {
// Use v2 to guarantee all CSS gets regenerated to account for changes in
// how some divs will be rendered.
$renderer->css_cache_name = 'bootstrapv2:' . $renderer->name;
if ($admin) {
ctools_include('css');
ctools_css_clear($renderer->css_cache_name);
}
}
return $renderer;
}