You are here

public function Time::buildOptionsForm in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/views/src/Plugin/views/cache/Time.php \Drupal\views\Plugin\views\cache\Time::buildOptionsForm()

Provide a form to edit options for this plugin.

Overrides PluginBase::buildOptionsForm

File

core/modules/views/src/Plugin/views/cache/Time.php, line 92
Contains \Drupal\views\Plugin\views\cache\Time.

Class

Time
Simple caching of query results for Views displays.

Namespace

Drupal\views\Plugin\views\cache

Code

public function buildOptionsForm(&$form, FormStateInterface $form_state) {
  parent::buildOptionsForm($form, $form_state);
  $options = array(
    60,
    300,
    1800,
    3600,
    21600,
    518400,
  );
  $options = array_map(array(
    $this->dateFormatter,
    'formatInterval',
  ), array_combine($options, $options));
  $options = array(
    0 => $this
      ->t('Never cache'),
  ) + $options + array(
    'custom' => $this
      ->t('Custom'),
  );
  $form['results_lifespan'] = array(
    '#type' => 'select',
    '#title' => $this
      ->t('Query results'),
    '#description' => $this
      ->t('The length of time raw query results should be cached.'),
    '#options' => $options,
    '#default_value' => $this->options['results_lifespan'],
  );
  $form['results_lifespan_custom'] = array(
    '#type' => 'textfield',
    '#title' => $this
      ->t('Seconds'),
    '#size' => '25',
    '#maxlength' => '30',
    '#description' => $this
      ->t('Length of time in seconds raw query results should be cached.'),
    '#default_value' => $this->options['results_lifespan_custom'],
    '#states' => array(
      'visible' => array(
        ':input[name="cache_options[results_lifespan]"]' => array(
          'value' => 'custom',
        ),
      ),
    ),
  );
  $form['output_lifespan'] = array(
    '#type' => 'select',
    '#title' => $this
      ->t('Rendered output'),
    '#description' => $this
      ->t('The length of time rendered HTML output should be cached.'),
    '#options' => $options,
    '#default_value' => $this->options['output_lifespan'],
  );
  $form['output_lifespan_custom'] = array(
    '#type' => 'textfield',
    '#title' => $this
      ->t('Seconds'),
    '#size' => '25',
    '#maxlength' => '30',
    '#description' => $this
      ->t('Length of time in seconds rendered HTML output should be cached.'),
    '#default_value' => $this->options['output_lifespan_custom'],
    '#states' => array(
      'visible' => array(
        ':input[name="cache_options[output_lifespan]"]' => array(
          'value' => 'custom',
        ),
      ),
    ),
  );
}