function facetapi_bonus_select in Facet API Bonus 7
Generate form for facet.
1 string reference to 'facetapi_bonus_select'
- facetapi_bonus_forms in ./
facetapi_bonus.module - Implements hook_forms().
File
- plugins/
facetapi/ facetapi_bonus_select.inc, line 20
Code
function facetapi_bonus_select($form, &$form_state, $elements) {
$default_value = '';
// Build options from facet elements.
$options = array();
foreach ($elements as $element) {
$key = serialize(array(
'path' => $element['#path'],
'query' => $element['#query'],
));
$options[$key] = theme('facetapi_bonus_select_option', array(
'title' => $element['#markup'],
'count' => $element['#count'],
));
if ($element['#active']) {
$default_value = $key;
}
}
if (count($options) == 1) {
return;
}
$form['select'] = array(
'#type' => 'select',
'#options' => $options,
'#attributes' => array(
'class' => array(
'ctools-auto-submit',
),
),
'#default_value' => $default_value,
);
if (empty($default_value)) {
$form['select']['#empty_option'] = t('- Select -');
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Filter'),
'#attributes' => array(
'class' => array(
'ctools-use-ajax',
'ctools-auto-submit-click',
),
),
'#submit' => array(
'facetapi_bonus_select_submit',
),
);
// Lets add autosubmit js functionality from ctools.
$form['#attached']['js'][] = drupal_get_path('module', 'ctools') . '/js/auto-submit.js';
// Add javascript that hides Filter button.
$form['#attached']['js'][] = drupal_get_path('module', 'facetapi_bonus') . '/js/facetapi_bonus_hide_submit.js';
$form['#attributes']['class'][] = 'facetapi-bonus-select-facet';
return $form;
}