You are here

function panels_bootstrap_config_item_form in Panels Bootstrap Layout Builder 7.3

Same name and namespace in other branches
  1. 7 plugins/layouts/bootstrap/bootstrap.inc \panels_bootstrap_config_item_form()

Configure a row, column or region on the bootstrap page.

Parameters

<type> $form_state:

Return value

<type>

1 string reference to 'panels_bootstrap_config_item_form'
panels_ajax_bootstrap_edit_settings in plugins/layouts/bootstrap/bootstrap.inc
AJAX responder to edit bootstrap settings for an item.

File

plugins/layouts/bootstrap/bootstrap.inc, line 813

Code

function panels_bootstrap_config_item_form($form, &$form_state) {
  $display =& $form_state['display'];
  $item =& $form_state['item'];
  $siblings =& $form_state['siblings'];
  $settings =& $form_state['settings'];
  $id =& $form_state['id'];
  switch ($item['type']) {
    case 'container':
      if ($id == 'canvas') {
        $form['wrapper'] = array(
          '#title' => t('Wrapper'),
          '#type' => 'textfield',
          '#default_value' => isset($item['wrapper']) ? $item['wrapper'] : 'div',
          '#description' => t('HTML element for the canvas'),
        );
        $form['element_id_default'] = array(
          '#type' => 'checkbox',
          '#title' => t('Use default ID'),
          '#default_value' => isset($item['element_id_default']) ? $item['element_id_default'] : 1,
          '#description' => t('Add the default ID like #panel-bootstrap-column-main-column to this container.'),
        );
        $form['element_id'] = array(
          '#title' => t('ID'),
          '#type' => 'textfield',
          '#default_value' => isset($item['element_id']) ? $item['element_id'] : '',
          '#description' => t('Define a custom ID for this element'),
          '#states' => array(
            'visible' => array(
              'input[name="element_id_default"]' => array(
                'checked' => FALSE,
              ),
            ),
          ),
        );
        $form['class_default_add'] = array(
          '#type' => 'checkbox',
          '#title' => t('Add default classes'),
          '#default_value' => isset($item['class_default_add']) ? $item['class_default_add'] : 1,
          '#description' => t('Add the default classes like .row, .panels-bootstrap-row, .inside, .row-inside-first etc to this container.'),
        );
        $form['class'] = array(
          '#title' => t('Class'),
          '#type' => 'textfield',
          '#default_value' => isset($item['class']) ? $item['class'] : '',
          '#description' => t('It will add a special class to this canvas'),
          '#states' => array(
            'visible' => array(
              'input[name="class_default_add"]' => array(
                'checked' => FALSE,
              ),
            ),
          ),
        );
        $form['container_class_add'] = array(
          '#type' => 'checkbox',
          '#title' => t('Add container class'),
          '#default_value' => isset($item['container_class_add']) ? $item['container_class_add'] : 0,
          '#description' => t('Add class "container" to this container'),
        );
        $form['container_fluid_class_add'] = array(
          '#type' => 'checkbox',
          '#title' => t('Add container-fluid class'),
          '#default_value' => isset($item['container_fluid_class_add']) ? $item['container_fluid_class_add'] : 0,
          '#description' => t('If you use a full width layout, you need to add the "container-fluid" class to your container to avoid horizontal scrolling.'),
        );
        if (empty($item['children'])) {
          $form['contains'] = array(
            '#type' => 'select',
            '#title' => t('Contains'),
            '#default_value' => $item['contains'],
            '#options' => array(
              'row' => t('Row'),
              'region' => t('Regions'),
              'container' => t('Container'),
            ),
          );
        }
        $form['column_class'] = array(
          '#title' => t('Column class'),
          '#type' => 'textfield',
          '#default_value' => isset($item['column_class']) ? $item['column_class'] : 'panels-bootstrap-column',
          '#description' => t('This class will be applied to all columns of the layout. If left blank this will be panels-bootstrap-column.'),
        );
        $form['row_class'] = array(
          '#title' => t('Row class'),
          '#type' => 'textfield',
          '#default_value' => isset($item['row_class']) ? $item['row_class'] : 'panels-bootstrap-row',
          '#description' => t('This class will be applied to all rows of the layout. If left blank this will be panels-bootstrap-row.'),
        );
        $form['region_class'] = array(
          '#title' => t('Region class'),
          '#type' => 'textfield',
          '#default_value' => isset($item['region_class']) ? $item['region_class'] : 'panels-bootstrap-region',
          '#description' => t('This class will be applied to all regions of the layout. If left blank this will be panels-bootstrap-region.'),
        );
        $form['container_class'] = array(
          '#title' => t('Container class'),
          '#type' => 'textfield',
          '#default_value' => isset($item['container_class']) ? $item['container_class'] : 'panels-bootstrap-container',
          '#description' => t('This class will be applied to all containers of the layout. If left blank this will be panels-bootstrap-container.'),
        );
      }
      else {
        $form['wrapper'] = array(
          '#title' => t('Wrapper'),
          '#type' => 'textfield',
          '#default_value' => isset($item['wrapper']) ? $item['wrapper'] : 'div',
          '#description' => t('HTML element for this container'),
        );
        $form['element_id_default'] = array(
          '#type' => 'checkbox',
          '#title' => t('Use default ID'),
          '#default_value' => isset($item['element_id_default']) ? $item['element_id_default'] : 1,
          '#description' => t('Add the default ID like #panel-bootstrap-column-main-column to this container.'),
        );
        $form['element_id'] = array(
          '#title' => t('ID'),
          '#type' => 'textfield',
          '#default_value' => isset($item['element_id']) ? $item['element_id'] : '',
          '#description' => t('Define a custom ID for this element'),
          '#states' => array(
            'visible' => array(
              'input[name="element_id_default"]' => array(
                'checked' => FALSE,
              ),
            ),
          ),
        );
        $form['class_default_add'] = array(
          '#type' => 'checkbox',
          '#title' => t('Add default classes'),
          '#default_value' => isset($item['class_default_add']) ? $item['class_default_add'] : 1,
          '#description' => t('Add the default classes like .row, .panels-bootstrap-row, .inside, .row-inside-first etc to this container.'),
        );
        $form['class'] = array(
          '#title' => t('CSS class'),
          '#type' => 'textfield',
          '#default_value' => isset($item['class']) ? $item['class'] : '',
          '#description' => t('Enter a CSS class that will be used. This can be used to apply automatic styling from your theme, for example.'),
          '#states' => array(
            'visible' => array(
              'input[name="class_default_add"]' => array(
                'checked' => FALSE,
              ),
            ),
          ),
        );
        $form['container_class_add'] = array(
          '#type' => 'checkbox',
          '#title' => t('Add container class'),
          '#default_value' => isset($item['container_class_add']) ? $item['container_class_add'] : 0,
          '#description' => t('Add class "container" to this container'),
        );
        $form['container_fluid_class_add'] = array(
          '#type' => 'checkbox',
          '#title' => t('Add container-fluid class'),
          '#default_value' => isset($item['container_fluid_class_add']) ? $item['container_fluid_class_add'] : 0,
          '#description' => t('If you use a full width layout, you may need to use the class "container-fluid" to avoid marrgin problems.'),
        );
        if (empty($item['children'])) {
          $form['contains'] = array(
            '#type' => 'select',
            '#title' => t('Contains'),
            '#default_value' => isset($item['contains']) ? $item['contains'] : 'container',
            '#options' => array(
              'container' => t('Container'),
              'region' => t('Regions'),
              'row' => t('Row'),
            ),
          );
        }
      }
      break;
    case 'row':
      $form['wrapper'] = array(
        '#title' => t('Wrapper'),
        '#type' => 'textfield',
        '#default_value' => isset($item['wrapper']) ? $item['wrapper'] : 'div',
        '#description' => t('HTML element for that row'),
      );
      $form['element_id_default'] = array(
        '#type' => 'checkbox',
        '#title' => t('Use default ID'),
        '#default_value' => isset($item['element_id_default']) ? $item['element_id_default'] : 1,
        '#description' => t('Add the default ID like #panel-bootstrap-column-main-column to this container.'),
      );
      $form['element_id'] = array(
        '#title' => t('ID'),
        '#type' => 'textfield',
        '#default_value' => isset($item['element_id']) ? $item['element_id'] : '',
        '#description' => t('Define a custom ID for this element'),
        '#states' => array(
          'visible' => array(
            'input[name="element_id_default"]' => array(
              'checked' => FALSE,
            ),
          ),
        ),
      );
      $form['class_default_add'] = array(
        '#type' => 'checkbox',
        '#title' => t('Add default classes'),
        '#default_value' => isset($item['class_default_add']) ? $item['class_default_add'] : 1,
        '#description' => t('Add the default classes like .row, .panels-bootstrap-row, .inside, .row-inside-first etc to this container.'),
      );
      $form['class'] = array(
        '#title' => t('CSS class'),
        '#type' => 'textfield',
        '#default_value' => isset($item['class']) ? $item['class'] : '',
        '#description' => t('Enter a CSS class that will be used. This can be used to apply automatic styling from your theme, for example.'),
        '#states' => array(
          'visible' => array(
            'input[name="class_default_add"]' => array(
              'checked' => FALSE,
            ),
          ),
        ),
      );
      break;
    case 'column':
      $form['wrapper'] = array(
        '#title' => t('Wrapper'),
        '#type' => 'textfield',
        '#default_value' => isset($item['wrapper']) ? $item['wrapper'] : 'div',
        '#description' => t('HTML element for that column'),
      );
      $form['element_id_default'] = array(
        '#type' => 'checkbox',
        '#title' => t('Use default ID'),
        '#default_value' => isset($item['element_id_default']) ? $item['element_id_default'] : 1,
        '#description' => t('Add the default ID like #panel-bootstrap-column-main-column to this container.'),
      );
      $form['element_id'] = array(
        '#title' => t('ID'),
        '#type' => 'textfield',
        '#default_value' => isset($item['element_id']) ? $item['element_id'] : '',
        '#description' => t('Define a custom ID for this element'),
        '#states' => array(
          'visible' => array(
            'input[name="element_id_default"]' => array(
              'checked' => FALSE,
            ),
          ),
        ),
      );
      $form['class_default_add'] = array(
        '#type' => 'checkbox',
        '#title' => t('Add default classes'),
        '#default_value' => isset($item['class_default_add']) ? $item['class_default_add'] : 1,
        '#description' => t('Add the default classes like .row, .panels-bootstrap-row, .inside, .row-inside-first etc to this container.'),
      );
      $form['class'] = array(
        '#title' => t('CSS class'),
        '#type' => 'textfield',
        '#default_value' => isset($item['class']) ? $item['class'] : '',
        '#description' => t('Enter a CSS class that will be used. This can be used to apply automatic styling from your theme, for example.'),
        '#states' => array(
          'visible' => array(
            'input[name="class_default_add"]' => array(
              'checked' => FALSE,
            ),
          ),
        ),
      );
      if (empty($item['children'])) {
        $form['contains'] = array(
          '#type' => 'select',
          '#title' => t('Contains'),
          '#default_value' => isset($item['contains']) ? $item['contains'] : 'region',
          '#options' => array(
            'region' => t('Regions'),
            'row' => t('Row'),
          ),
        );
      }
      break;
    case 'region':
      $form['title'] = array(
        '#title' => t('Region title'),
        '#type' => 'textfield',
        '#default_value' => $item['title'],
        '#required' => TRUE,
      );
      $form['wrapper'] = array(
        '#title' => t('Wrapper'),
        '#type' => 'textfield',
        '#default_value' => isset($item['wrapper']) ? $item['wrapper'] : 'div',
        '#description' => t('HTML element for the region'),
      );
      $form['element_id_default'] = array(
        '#type' => 'checkbox',
        '#title' => t('Use default ID'),
        '#default_value' => isset($item['element_id_default']) ? $item['element_id_default'] : 1,
        '#description' => t('Add the default ID like #panel-bootstrap-column-main-column to this container.'),
      );
      $form['element_id'] = array(
        '#title' => t('ID'),
        '#type' => 'textfield',
        '#default_value' => isset($item['element_id']) ? $item['element_id'] : '',
        '#description' => t('Define a custom ID for this element'),
        '#states' => array(
          'visible' => array(
            'input[name="element_id_default"]' => array(
              'checked' => FALSE,
            ),
          ),
        ),
      );
      $form['class_default_add'] = array(
        '#type' => 'checkbox',
        '#title' => t('Add default classes'),
        '#default_value' => isset($item['class_default_add']) ? $item['class_default_add'] : 1,
        '#description' => t('Add the default classes like .row, .panels-bootstrap-row, .inside, .row-inside-first etc to this container.'),
      );
      $form['class'] = array(
        '#title' => t('CSS class'),
        '#type' => 'textfield',
        '#default_value' => isset($item['class']) ? $item['class'] : '',
        '#description' => t('Enter a CSS class that will be used. This can be used to apply automatic styling from your theme, for example.'),
        '#states' => array(
          'visible' => array(
            'input[name="class_default_add"]' => array(
              'checked' => FALSE,
            ),
          ),
        ),
      );
      $form['container_class_add'] = array(
        '#type' => 'checkbox',
        '#title' => t('Add container class'),
        '#default_value' => isset($item['container_class_add']) ? $item['container_class_add'] : 0,
        '#description' => t('Add class "container" to this container'),
      );
      $form['container_fluid_class_add'] = array(
        '#type' => 'checkbox',
        '#title' => t('Add container-fluid class'),
        '#default_value' => isset($item['container_fluid_class_add']) ? $item['container_fluid_class_add'] : 0,
        '#description' => t('If you use a full width layout, you may need to use the class "container-fluid" to avoid marrgin problems.'),
      );
      break;
    default:
      break;
  }
  $form['save'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  return $form;
}