You are here

function views_showcase_plugin_style_showcase::options_form in Views Showcase 7

Render the given style.

Overrides views_plugin_style_list::options_form

File

plugins/views_showcase_plugin_style_showcase.inc, line 35
Contains the showcase style plugin.

Class

views_showcase_plugin_style_showcase
Style plugin to render each item in a grid cell.

Code

function options_form(&$form, &$form_state) {
  parent::options_form($form, $form_state);
  unset($form['grouping']);
  $form['skin'] = array(
    '#type' => 'select',
    '#title' => t('Skin'),
    '#default_value' => $this->options['skin'],
    '#options' => array(
      'right' => t('Right'),
      'left' => t('Left'),
    ),
  );
  $form['timeout'] = array(
    '#type' => 'textfield',
    '#title' => t('Timeout'),
    '#default_value' => $this->options['timeout'],
    '#description' => t('The timeout between each slide. In miliseconds.'),
  );
  $form['cycle'] = array(
    '#type' => 'select',
    '#title' => t('Cycle Plugin Effect'),
    '#description' => t('Choose the desired cycle plugin effect.'),
    '#default_value' => $this->options['cycle'],
    '#options' => $this
      ->get_cycle_options(),
  );
  $form['sync'] = array(
    '#type' => 'select',
    '#title' => t('Sync setting'),
    '#description' => t('Choose if the sycle effect will be synchronized or not.'),
    '#default_value' => $this->options['sync'],
    '#options' => array(
      'true' => t('Yes'),
      'false' => t('No'),
    ),
  );
  $form['pause'] = array(
    '#type' => 'select',
    '#title' => t('Pause on hover the slide'),
    '#description' => t('Choose if the transition stops when the mouse is over the slide.'),
    '#default_value' => $this->options['pause'],
    '#options' => array(
      'true' => t('Yes'),
      'false' => t('No'),
    ),
  );
  $form['listpause'] = array(
    '#type' => 'select',
    '#title' => t('Pause on hover the list'),
    '#description' => t('Choose if the transition stops when the mouse is over the slide title (in the navigation list).'),
    '#default_value' => $this->options['listpause'],
    '#options' => array(
      'true' => t('Yes'),
      'false' => t('No'),
    ),
  );
  $form['easing'] = array(
    '#type' => 'select',
    '#title' => t('Easing Plugin Effec'),
    '#description' => t('Choose the desired easing plugin effect.'),
    '#default_value' => $this->options['easing'],
    '#options' => $this
      ->get_easing_options(),
  );

  // Pre-build all of our option lists for the dials and switches that follow.
  foreach ($this->display->handler
    ->get_handlers('field') as $field => $handler) {
    if ($label = $handler
      ->label()) {
      $fields[$field] = $label;
    }
    else {
      $fields[$field] = $handler
        ->ui_name();
    }
  }
  $form['showcase_display_options'] = array(
    '#type' => 'fieldset',
    '#title' => t('Showcase Display Options'),
    '#theme' => 'views_showcase_checkbox_table',
  );

  //Setting the default value of the showcase_display_options
  if (isset($this->options['showcase_display_options'])) {
    $navigation_box_default = $this->options['showcase_display_options']['navigation_box_field'];
    $big_box_default = $this->options['showcase_display_options']['big_box_field'];
    $link_anchor_default = $this->options['showcase_display_options']['link_anchor_field'];
  }
  else {
    $navigation_box_default = array();
    $big_box_default = array();
    $link_anchor_default = array();
  }
  $form['showcase_display_options']['navigation_box_field'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Navigation Box'),
    '#options' => $fields,
    '#default_value' => $navigation_box_default,
  );
  $form['showcase_display_options']['big_box_field'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Big Box'),
    '#options' => $fields,
    '#default_value' => $big_box_default,
  );
  $form['showcase_display_options']['link_anchor_field'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Link to Anchor'),
    '#options' => $fields,
    '#default_value' => $link_anchor_default,
  );
}