function UIkitViewsPluginStyleAccordion::options_form in UIkit Components 7.3
Same name and namespace in other branches
- 7.2 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 36 - 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['targets'] = array(
'#type' => 'textfield',
'#title' => t('CSS selector of the element(s) to toggle.'),
'#default_value' => $this->options['targets'],
);
$form['active'] = array(
'#type' => 'numberfield',
'#title' => t('Index of the element to open initially.'),
'#default_value' => $this->options['active'],
);
$form['collapsible'] = array(
'#type' => 'checkbox',
'#title' => t('Allow all items to be closed.'),
'#default_value' => $this->options['collapsible'],
);
$form['multiple'] = array(
'#type' => 'checkbox',
'#title' => t('Allow multiple open items.'),
'#default_value' => $this->options['multiple'],
);
$form['animation'] = array(
'#type' => 'checkbox',
'#title' => t('Reveal item directly (unchecked) or with a transition (checked).'),
'#default_value' => $this->options['animation'],
);
$form['transition'] = array(
'#type' => 'select',
'#title' => t('The transition to use when revealing items.'),
'#required' => TRUE,
'#default_value' => $this->options['transition'],
'#description' => t('Uses a keyword from <a href="@transition" target="_blank">easing functions</a>.', array(
'@transition' => 'https://developer.mozilla.org/en-US/docs/Web/CSS/single-transition-timing-function#Keywords_for_common_timing-functions',
)),
'#options' => array(
'linear' => 'linear',
'ease' => 'ease',
'ease-in' => 'ease-in',
'ease-in-out' => 'ease-in-out',
'ease-out' => 'ease-out',
'step-start' => 'step-start',
'step-end' => 'step-end',
),
);
$form['duration'] = array(
'#type' => 'numberfield',
'#title' => t('Animation duration in milliseconds.'),
'#default_value' => $this->options['duration'],
);
}
}