You are here

function UIkitViewsPluginStyleAccordion::options_form in UIkit Components 7.2

Same name and namespace in other branches
  1. 7.3 uikit_views/plugins/UIkitViewsPluginStyleAccordion.inc \UIkitViewsPluginStyleAccordion::options_form()

Render the given style.

Overrides views_plugin_style::options_form

File

uikit_views/plugins/UIkitViewsPluginStyleAccordion.inc, line 37
Contains the accordion style plugin.

Class

UIkitViewsPluginStyleAccordion
Style plugin to render each item in UIkit accordion.

Code

function options_form(&$form, &$form_state) {
  parent::options_form($form, $form_state);
  if (isset($form['grouping'])) {
    $title_field_options = array();
    foreach (element_children($form['grouping']) as $key => $value) {
      if (!empty($form['grouping'][$key]['field']['#options']) && is_array($form['grouping'][$key]['field']['#options'])) {
        $title_field_options = array_merge($title_field_options, $form['grouping'][$key]['field']['#options']);
      }
    }
    $form['title_field'] = array(
      '#type' => 'select',
      '#title' => t('Title field'),
      '#options' => $title_field_options,
      '#required' => TRUE,
      '#default_value' => $this->options['title_field'],
      '#description' => t('Select the field to use as the accordian title to create a toggle for the accordion items.'),
    );
    $form['showfirst'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show first item on init'),
      '#default_value' => $this->options['showfirst'],
    );
    $form['collapse'] = array(
      '#type' => 'checkbox',
      '#title' => t('Allow multiple open items'),
      '#default_value' => $this->options['collapse'],
    );
    $form['animate'] = array(
      '#type' => 'checkbox',
      '#title' => t('Animate toggle'),
      '#default_value' => $this->options['animate'],
    );
    $form['easing'] = array(
      '#type' => 'textfield',
      '#title' => t('Animation function'),
      '#default_value' => $this->options['easing'],
      '#description' => t('<strong>Note:</strong> The only easing implementations in the jQuery library are the default, called <em class="placeholder">swing</em>, and one that progresses at a constant pace, called <em class="placeholder">linear</em>. More easing functions are available with the use of plug-ins, most notably the <a href="@jqueryUI" target="_blank">jQuery UI suite</a>.', array(
        '@jqueryUI' => 'http://jqueryui.com/',
      )),
      '#required' => TRUE,
    );
    $form['duration'] = array(
      '#type' => 'number',
      '#title' => t('Animation duration'),
      '#default_value' => $this->options['duration'],
      '#required' => TRUE,
    );
    $form['toggle'] = array(
      '#type' => 'textfield',
      '#title' => t('Css selector for toggles'),
      '#default_value' => $this->options['toggle'],
      '#required' => TRUE,
    );
    $form['containers'] = array(
      '#type' => 'textfield',
      '#title' => t('Css selector for content containers'),
      '#default_value' => $this->options['containers'],
      '#required' => TRUE,
    );
    $form['clsactive'] = array(
      '#type' => 'textfield',
      '#title' => t('Class to add when an item is active'),
      '#default_value' => $this->options['clsactive'],
      '#required' => TRUE,
    );
  }
}