Example #1
0
 /**
  * {@inheritdoc}
  */
 public function buildOptionsForm(&$form, FormStateInterface $form_state)
 {
     $form['convert_spaces'] = array('#title' => $this->t('Convert spaces in term names to hyphens'), '#type' => 'checkbox', '#default_value' => !empty($this->options['convert_spaces']));
     parent::buildOptionsForm($form, $form_state);
 }
 /**
  * {@inheritdoc}
  */
 public function buildOptionsForm(&$form, FormStateInterface $form_state)
 {
     parent::buildOptionsForm($form, $form_state);
     $form['hide_single_bundle'] = ['#type' => 'checkbox', '#title' => t('Hide if there\'s only one bundle.'), '#default_value' => $this->options['hide_single_bundle']];
 }
 /**
  * {@inheritdoc}
  */
 public function buildOptionsForm(&$form, FormStateInterface $form_state)
 {
     $form['field_rendering'] = array('#type' => 'checkbox', '#title' => $this->t('Use entity field rendering'), '#description' => $this->t("If checked, Drupal's built-in field rendering mechanism will be used for rendering this field's values, which requires the entity to be loaded. If unchecked, a type-specific, entity-independent rendering mechanism will be used."), '#default_value' => $this->options['field_rendering']);
     // Wrap the (immediate) parent options in their own field set, to clean up
     // the UI when (un)checking the above checkbox.
     $form['parent_options'] = array('#type' => 'fieldset', '#title' => $this->t('Render settings'), '#states' => array('visible' => array(':input[name="options[field_rendering]"]' => array('checked' => TRUE))));
     // Include the parent options form and move all fields that were added by
     // our direct parent (\Drupal\views\Plugin\views\field\Field) to the
     // "parent_options" fieldset.
     parent::buildOptionsForm($form, $form_state);
     $parent_keys = array('multiple_field_settings', 'click_sort_column', 'type', 'field_api_classes', 'settings');
     foreach ($parent_keys as $key) {
         if (!empty($form[$key])) {
             $form[$key]['#fieldset'] = 'parent_options';
         }
     }
     // The Core boolean formatter hard-codes the field name to "field_boolean".
     // This breaks the parent class's call of rewriteStatesSelector() for fixing
     // "#states". We therefore apply that behavior again here.
     if (!empty($form['settings'])) {
         FormHelper::rewriteStatesSelector($form['settings'], "fields[field_boolean][settings_edit_form]", 'options');
     }
     // Get the options form for the fallback handler.
     $fallback_form = array();
     $this->fallbackHandler->buildOptionsForm($fallback_form, $form_state);
     // Remove all fields from FieldPluginBase from the fallback form, but leave
     // those in that were only added by our immediate parent,
     // \Drupal\views\Plugin\views\field\Field. (E.g., the "type" option is
     // especially prone to conflicts here.) The others come from the plugin base
     // classes and will be identical, so it would be confusing to include them
     // twice.
     $parent_keys[] = '#pre_render';
     $remove_from_fallback = array_diff_key($form, array_flip($parent_keys));
     $fallback_form = array_diff_key($fallback_form, $remove_from_fallback);
     // Fix the "#states" selectors in the fallback form, and put an additional
     // "#states" directive on it to only be visible for the corresponding
     // "field_rendering" setting.
     if ($fallback_form) {
         FormHelper::rewriteStatesSelector($fallback_form, '"options[', '"options[fallback_options][');
         $form['fallback_options'] = $fallback_form;
         $form['fallback_options']['#type'] = 'fieldset';
         $form['fallback_options']['#title'] = $this->t('Render settings');
         $form['fallback_options']['#states']['visible'][':input[name="options[field_rendering]"]'] = array('checked' => FALSE);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function buildOptionsForm(&$form, FormStateInterface $form_state)
 {
     parent::buildOptionsForm($form, $form_state);
     // Remote the click sort field selector.
     unset($form['click_sort_column']);
 }