You are here

public function FilterSettingsForm::buildForm in Open Social 10.1.x

Same name and namespace in other branches
  1. 10.3.x modules/social_features/social_activity/modules/social_activity_filter/src/Form/FilterSettingsForm.php \Drupal\social_activity_filter\Form\FilterSettingsForm::buildForm()
  2. 10.0.x modules/social_features/social_activity/modules/social_activity_filter/src/Form/FilterSettingsForm.php \Drupal\social_activity_filter\Form\FilterSettingsForm::buildForm()
  3. 10.2.x modules/social_features/social_activity/modules/social_activity_filter/src/Form/FilterSettingsForm.php \Drupal\social_activity_filter\Form\FilterSettingsForm::buildForm()

Form constructor.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form structure.

Overrides ConfigFormBase::buildForm

File

modules/social_features/social_activity/modules/social_activity_filter/src/Form/FilterSettingsForm.php, line 81

Class

FilterSettingsForm
Provides a settings form of activity filter.

Namespace

Drupal\social_activity_filter\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {

  // Get the configuration file.
  $config = $this
    ->config('social_activity_filter.settings');
  $form['social_activity_filter'] = [
    '#type' => 'fieldset',
  ];
  $displays = [];
  foreach (social_activity_default_views_list() as $views_id) {
    $displays = array_merge($displays, $this
      ->getDisplayBlocks($views_id));
  }
  $form['social_activity_filter']['blocks'] = [
    '#type' => 'checkboxes',
    '#markup' => '<div class="fieldset__description">' . $this
      ->t('Please select the blocks in which the taxonomy filters can be used.') . '</div>',
    '#title' => $this
      ->t('Select blocks'),
    '#options' => $displays,
    '#default_value' => $config
      ->get('blocks'),
    '#required' => TRUE,
  ];
  $storage = $this->entityTypeManager
    ->getStorage('taxonomy_vocabulary');
  $taxonomy_vocabularies = $storage
    ->loadMultiple();
  $vocabulariesList = [];

  /** @var \Drupal\taxonomy\Entity\Vocabulary $vocabulary */
  foreach ($taxonomy_vocabularies as $vid => $vocabulary) {
    $vocabulariesList[$vid] = $vocabulary
      ->get('name');
  }
  $form['social_activity_filter']['vocabulary'] = [
    '#type' => 'checkboxes',
    '#markup' => '<div class="fieldset__description">' . $this
      ->t('Please select the taxonomy vocabularies that can be used in the taxonomy filters.') . '</div>',
    '#title' => $this
      ->t('Select taxonomy vocabularies'),
    '#options' => $vocabulariesList,
    '#default_value' => $config
      ->get('vocabulary'),
    '#required' => TRUE,
  ];
  return parent::buildForm($form, $form_state);
}