You are here

public function views_handler_filter::show_expose_button in Views (for Drupal 7) 7.3

Same name and namespace in other branches
  1. 6.2 handlers/views_handler_filter.inc \views_handler_filter::show_expose_button()

Shortcut to display the expose/hide button.

Overrides views_handler::show_expose_button

1 call to views_handler_filter::show_expose_button()
views_handler_filter::options_form in handlers/views_handler_filter.inc
Provide the basic form which calls through to subforms.

File

handlers/views_handler_filter.inc, line 469
Definitions of views_handler_filter and views_handler_filter_broken.

Class

views_handler_filter
Base class for filters.

Code

public function show_expose_button(&$form, &$form_state) {
  $form['expose_button'] = array(
    '#prefix' => '<div class="views-expose clearfix">',
    '#suffix' => '</div>',
    // Should always come after the description and the relationship.
    '#weight' => -200,
  );

  // Add a checkbox for JS users, which will have behavior attached to it so
  // it can replace the button.
  $form['expose_button']['checkbox'] = array(
    '#theme_wrappers' => array(
      'container',
    ),
    '#attributes' => array(
      'class' => array(
        'js-only',
      ),
    ),
  );
  $form['expose_button']['checkbox']['checkbox'] = array(
    '#title' => t('Expose this filter to visitors, to allow them to change it'),
    '#type' => 'checkbox',
  );

  // Then add the button itself.
  if (empty($this->options['exposed'])) {
    $form['expose_button']['markup'] = array(
      '#markup' => '<div class="description exposed-description">' . t('This filter is not exposed. Expose it to allow the users to change it.') . '</div>',
    );
    $form['expose_button']['button'] = array(
      '#limit_validation_errors' => array(),
      '#type' => 'submit',
      '#value' => t('Expose filter'),
      '#submit' => array(
        'views_ui_config_item_form_expose',
      ),
    );
    $form['expose_button']['checkbox']['checkbox']['#default_value'] = 0;
  }
  else {
    $form['expose_button']['markup'] = array(
      '#markup' => '<div class="description exposed-description">' . t('This filter is exposed. If you hide it, users will not be able to change it.') . '</div>',
    );
    $form['expose_button']['button'] = array(
      '#limit_validation_errors' => array(),
      '#type' => 'submit',
      '#value' => t('Hide filter'),
      '#submit' => array(
        'views_ui_config_item_form_expose',
      ),
    );
    $form['expose_button']['checkbox']['checkbox']['#default_value'] = 1;
  }
}