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;
}