You are here

function views_slideshow_pager_fields_views_slideshow_widget_pager_form_options in Views Slideshow 8.3

Same name and namespace in other branches
  1. 6.3 views_slideshow.module \views_slideshow_pager_fields_views_slideshow_widget_pager_form_options()
  2. 7.3 views_slideshow.module \views_slideshow_pager_fields_views_slideshow_widget_pager_form_options()

Implements [widget-type]_views_slideshow_pager_form_options().

File

./views_slideshow.module, line 276
Provides Slideshow style options for Views.

Code

function views_slideshow_pager_fields_views_slideshow_widget_pager_form_options(&$form, &$form_state, &$view, $defaults, $dependency) {

  // Settings for fields pager.
  $options = array();

  // Get each field and it's name.
  foreach ($view->displayHandler
    ->getHandlers('field') as $field => $handler) {
    $options[$field] = $handler
      ->adminLabel();
  }

  // Need to wrap this so it indents correctly.
  $form['views_slideshow_pager_fields_wrapper'] = array(
    '#markup' => '<div class="vs-dependent">',
  );

  // Add ability to choose which fields to show in the pager.
  $form['views_slideshow_pager_fields_fields'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Pager fields'),
    '#options' => $options,
    '#default_value' => $defaults['views_slideshow_pager_fields_fields'],
    '#description' => t('Choose the fields that will appear in the pager.'),
    '#states' => array(
      'visible' => array(
        ':input[name="' . $dependency . '[enable]"]' => array(
          'checked' => TRUE,
        ),
        ':input[name="' . $dependency . '[type]"]' => array(
          'value' => 'views_slideshow_pager_fields',
        ),
      ),
    ),
  );

  // Add field to see if they would like to activate slide and pause on pager
  // hover.
  $form['views_slideshow_pager_fields_hover'] = array(
    '#type' => 'checkbox',
    '#title' => t('Activate Slide and Pause on Pager Hover'),
    '#default_value' => $defaults['views_slideshow_pager_fields_hover'],
    '#description' => t('Should the slide be activated and paused when hovering over a pager item.'),
    '#states' => array(
      'visible' => array(
        ':input[name="' . $dependency . '[enable]"]' => array(
          'checked' => TRUE,
        ),
        ':input[name="' . $dependency . '[type]"]' => array(
          'value' => 'views_slideshow_pager_fields',
        ),
      ),
    ),
  );
  $form['views_slideshow_pager_fields_wrapper_close'] = array(
    '#markup' => '</div>',
  );
}