function views_handler_sort::show_expose_button

Shortcut to display the expose/hide button.

Overrides views_handler::show_expose_button

1 call to views_handler_sort::show_expose_button()
views_handler_sort::options_form in handlers/views_handler_sort.inc
Basic options for all sort criteria.

File

handlers/views_handler_sort.inc, line 91

Class

views_handler_sort
Base sort handler that has no options and performs a simple sort.

Code

public function show_expose_button(&$form, &$form_state) {
    $form['expose_button'] = array(
        '#prefix' => '<div class="views-expose clearfix">',
        '#suffix' => '</div>',
        // Should always come first.
'#weight' => -1000,
    );
    // 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 sort 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" style="float: left; margin-right:10px">' . t('This sort 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 sort'),
            '#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 sort 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 sort'),
            '#submit' => array(
                'views_ui_config_item_form_expose',
            ),
        );
        $form['expose_button']['checkbox']['checkbox']['#default_value'] = 1;
    }
}