You are here

public function views_navigation_plugin_display_extender_views_navigation::options_form in Views navigation 7

Function for return options form.

Overrides views_plugin_display_extender::options_form

File

views/views_navigation_plugin_display_extender_views_navigation.inc, line 51
Function to return plugin Display Extender entity view.

Class

views_navigation_plugin_display_extender_views_navigation
Class views_navigation_plugin_display_extender_views_navigation.

Code

public function options_form(&$form, &$form_state) {
  switch ($form_state['section']) {
    case 'views_navigation':
      $form['#title'] .= t('Views navigation');
      $form['views_navigation'] = [
        '#type' => 'checkbox',
        '#title' => t('Add navigation links on entity pages accessed from this view'),
        '#default_value' => $this->display
          ->get_option('views_navigation'),
      ];
      $views_navigation_selector = ':input[name="views_navigation"]';
      $views_navigation_states = [
        'invisible' => [
          $views_navigation_selector => [
            'checked' => FALSE,
          ],
        ],
      ];
      $form['views_navigation_cycle'] = [
        '#type' => 'checkbox',
        '#title' => t('Cycling navigation (link to the first on the last entity)'),
        '#default_value' => $this->display
          ->get_option('views_navigation_cycle'),
        '#states' => $views_navigation_states,
      ];
      $form['views_navigation_back'] = [
        '#type' => 'checkbox',
        '#title' => t('Add a back link on entity pages accessed from this view'),
        '#default_value' => $this->display
          ->get_option('views_navigation_back'),
      ];
      $views_navigation_back_selector = ':input[name="views_navigation_back"]';
      $views_navigation_back_states = [
        'invisible' => [
          $views_navigation_back_selector => [
            'checked' => FALSE,
          ],
        ],
      ];
      $form['views_navigation_title'] = [
        '#type' => 'checkbox',
        '#title' => t("Use the view's title in back link text"),
        '#default_value' => $this->display
          ->get_option('views_navigation_title'),
        '#states' => $views_navigation_back_states,
      ];
      $form['views_navigation_seo_first'] = [
        '#type' => 'checkbox',
        '#title' => t('Improve SEO at the cost of performance'),
        '#description' => t('This will notably use entity labels for link texts. Can be SQL-greedy, to be avoided for big result sets.'),
        '#default_value' => $this->display
          ->get_option('views_navigation_seo_first'),
        '#states' => $views_navigation_states,
      ];
      break;
  }
}