function draggableviews_handler_field_draggable::options_form in DraggableViews 7.2
Default options form provides the label widget that all fields should have.
Overrides views_handler_field::options_form
File
- views/
draggableviews_handler_field_draggable.inc, line 38 - Views field handler. Contains all relevant Draggableviews options and related logic. Implements the Views Form API.
Class
- draggableviews_handler_field_draggable
- @file Views field handler. Contains all relevant Draggableviews options and related logic. Implements the Views Form API.
Code
function options_form(&$form, &$form_state) {
parent::options_form($form, $form_state);
// Remove not needed settings options.
$form['alter']['#access'] = FALSE;
$form['style_settings']['#access'] = FALSE;
$form['empty_field_behavior']['#access'] = FALSE;
$form['draggableviews'] = array(
'#type' => 'fieldset',
'#title' => t('Draggable Views'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$handler_options = array();
$handler_forms = array();
foreach (draggableviews_get_handlers() as $handler_id => $handler_object) {
$handler = ctools_get_plugins('draggableviews', 'handler', $handler_id);
$handler_options[$handler_id] = filter_xss($handler['label']);
$handler_forms[$handler_id] = $handler_object
->options_form($this);
}
$form['draggableviews']['handler'] = array(
'#type' => 'select',
'#title' => t('Sort handler'),
'#options' => $handler_options,
'#default_value' => $this->options['draggableviews']['handler'],
);
// Add handler's form element as fieldset that
// is active only if handler selected.
foreach ($handler_forms as $handler_id => $handler_form_element) {
// Skip empty handler's form elements.
if (empty($handler_form_element)) {
continue;
}
$form['draggableviews'][$handler_id] = array(
'#type' => 'fieldset',
'#title' => check_plain($form['draggableviews']['handler']['#options'][$handler_id]),
'#collapsible' => FALSE,
'#states' => array(
'visible' => array(
'select[name="options[draggableviews][handler]"]' => array(
'value' => $handler_id,
),
),
),
);
foreach ($handler_form_element as $key => $form_element) {
$form['draggableviews'][$handler_id][$key] = $form_element;
}
}
$hierarchy_handler_options = array(
'' => t('- None -'),
);
$hierarchy_handler_forms = array();
foreach (draggableviews_get_hierarchy_handlers() as $handler_id => $handler_object) {
$handler = ctools_get_plugins('draggableviews', 'hierarchy_handler', $handler_id);
$hierarchy_handler_options[$handler_id] = filter_xss($handler['label']);
$hierarchy_handler_forms[$handler_id] = $handler_object
->options_form($this);
}
$form['draggableviews']['hierarchy_handler'] = array(
'#type' => 'select',
'#title' => t('Hierarchy handler'),
'#options' => $hierarchy_handler_options,
'#default_value' => $this->options['draggableviews']['hierarchy_handler'],
);
// Add handler's form element as fieldset that
// is active only if handler selected.
foreach ($hierarchy_handler_forms as $handler_id => $hierarchy_handler_form_element) {
// Skip empty handler's form elements.
if (empty($hierarchy_handler_form_element)) {
continue;
}
$form['draggableviews'][$handler_id] = array(
'#type' => 'fieldset',
'#title' => check_plain($form['draggableviews']['handler']['#options'][$handler_id]),
'#collapsible' => FALSE,
'#states' => array(
'visible' => array(
'select[name="options[draggableviews][hierarchy_handler]"]' => array(
'value' => $handler_id,
),
),
),
);
foreach ($hierarchy_handler_form_element as $key => $form_element) {
$form['draggableviews'][$handler_id][$key] = $form_element;
}
}
$form['draggableviews']['save_button_label'] = array(
'#type' => 'textfield',
'#title' => t('Custom Save button label'),
'#size' => 20,
'#description' => t("Allow to change Save button Label."),
'#default_value' => $this->options['draggableviews']['save_button_label'],
);
$form['draggableviews']['ajax'] = array(
'#type' => 'checkbox',
'#title' => t('Ajax'),
'#description' => t('Use ajax in draggable form.'),
'#default_value' => $this->options['draggableviews']['ajax'],
);
}