function views_handler_argument::default_argument_form
3.x views_handler_argument.inc | views_handler_argument::default_argument_form(&$form, &$form_state) |
2.x views_handler_argument.inc | views_handler_argument::default_argument_form(&$form, &$form_state) |
Provide a form for selecting the default argument when the default action is set to provide default argument.
1 call to views_handler_argument::default_argument_form()
- views_handler_argument_date::default_argument_form in handlers/
views_handler_argument_date.inc - Add an option to set the default value to the current date.
1 method overrides views_handler_argument::default_argument_form()
- views_handler_argument_date::default_argument_form in handlers/
views_handler_argument_date.inc - Add an option to set the default value to the current date.
File
- handlers/
views_handler_argument.inc, line 545 - @todo.
Class
- views_handler_argument
- Base class for arguments.
Code
function default_argument_form(&$form, &$form_state) {
$plugins = views_fetch_plugin_data('argument default');
$options = array();
$form['default_argument_skip_url'] = array(
'#type' => 'checkbox',
'#title' => t('Skip default argument for view URL'),
'#default_value' => $this->options['default_argument_skip_url'],
'#description' => t('Select whether to include this default argument when constructing the URL for this view. Skipping default arguments is useful e.g. in the case of feeds.')
);
$form['default_argument_type'] = array(
'#prefix' => '<div id="edit-options-default-argument-type-wrapper">',
'#suffix' => '</div>',
'#type' => 'select',
'#id' => 'edit-options-default-argument-type',
'#title' => t('Type'),
'#default_value' => $this->options['default_argument_type'],
'#dependency' => array('radio:options[default_action]' => array('default')),
// Views custom key, moves this element to the appropriate container
// under the radio button.
'#argument_option' => 'default',
);
foreach ($plugins as $id => $info) {
if (!empty($info['no ui'])) {
continue;
}
$plugin = $this->get_plugin('argument default', $id);
if ($plugin) {
if ($plugin->access() || $this->options['default_argument_type'] == $id) {
$form['argument_default']['#argument_option'] = 'default';
$form['argument_default'][$id] = array(
'#prefix' => '<div id="edit-options-argument-default-options-' . $id . '-wrapper">',
'#suffix' => '</div>',
'#id' => 'edit-options-argument-default-options-' . $id,
'#type' => 'item',
// Even if the plugin has no options add the key to the form_state.
'#input' => TRUE,
'#dependency' => array(
'radio:options[default_action]' => array('default'),
'edit-options-default-argument-type' => array($id)
),
'#dependency_count' => 2,
);
$options[$id] = $info['title'];
$plugin->options_form($form['argument_default'][$id], $form_state);
}
}
}
asort($options);
$form['default_argument_type']['#options'] = $options;
}