You are here

public function ReExportEntitiesForm::buildForm in Acquia Content Hub 8

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 FormInterface::buildForm

File

src/Form/ReExportEntitiesForm.php, line 53

Class

ReExportEntitiesForm
Defines the form to register the webhooks.

Namespace

Drupal\acquia_contenthub\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $reexport_entities = $this->reindex
    ->getCountReExportEntities();
  $form['reexport_after_reindex'] = [
    '#type' => 'details',
    '#title' => $this
      ->t('Re-Export entities after Reindex'),
    '#open' => TRUE,
    '#description' => $this
      ->t('Re-export entities after successful Re-indexation of Content Hub Subscription'),
  ];
  $form['reexport_after_reindex']['entities'] = [
    '#type' => 'item',
    '#title' => $this
      ->t('Number of entities waiting to be re-exported'),
    '#description' => $this
      ->t('%num @items.', [
      '%num' => $reexport_entities,
      '@items' => $reexport_entities === 1 ? $this
        ->t('entity') : $this
        ->t('entities'),
    ]),
  ];

  // Only present this form if we have a successful re-indexation and we have
  // some entities that are waiting to be re-exported.
  if ($this->reindex
    ->isReindexFinished() && $reexport_entities > 0) {
    $number_of_items = [
      1,
      3,
      5,
      10,
      20,
      30,
      50,
    ];
    $number_of_items = array_combine($number_of_items, $number_of_items);
    $form['reexport_after_reindex']['batch_size'] = [
      '#type' => 'select',
      '#options' => $number_of_items,
      '#title' => $this
        ->t('Batch size'),
      '#description' => $this
        ->t('Number of entities and their dependencies that will be processed in the same batch process. This has an impact on the importing site, the higher the number the more time spent in a single batch process with the potential of consuming memory. Set to "10" by default.'),
      '#default_value' => 10,
    ];
    $form['reexport_after_reindex']['run'] = [
      '#type' => 'submit',
      '#name' => 're_export',
      '#value' => $this
        ->t('Run re-export of reindexed entities'),
      '#op' => 'run',
    ];
  }
  else {
    $form['reexport_after_reindex']['message'] = [
      '#markup' => $this
        ->t('There are no entities marked for re-export.'),
    ];
  }
  return $form;
}