public function ServerStatusForm::buildForm in Search API 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/ ServerStatusForm.php, line 68
Class
- ServerStatusForm
- Provides a form for performing common actions on a server.
Namespace
Drupal\search_api\FormCode
public function buildForm(array $form, FormStateInterface $form_state, ServerInterface $server = NULL) {
$form['#server'] = $server;
$pending_tasks = $this
->getServerTaskManager()
->getCount($server);
if ($pending_tasks) {
$status = $this
->formatPlural($pending_tasks, 'There is currently @count task pending for this server.', 'There are currently @count tasks pending for this server.');
$form['tasks'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Pending server tasks'),
];
$form['tasks']['help'] = [
'#type' => 'item',
'#title' => $status,
'#description' => $this
->t('Pending tasks are created when operations on the server, such as deleting one or more items, cannot be executed because the server is currently unavailable (which will usually also create an entry in the Drupal logs). They are automatically tried again before any other operation is executed and the operation is aborted if the tasks could still not be executed, or if there are too many pending tasks to be executed in a single page request. In the latter case, you can use this form to manually execute all tasks and thus unblock the server again.'),
];
$form['tasks']['execute'] = [
'#type' => 'submit',
'#value' => $this
->t('Execute tasks now'),
'#disabled' => !$server
->isAvailable(),
'#submit' => [
'::executeTasks',
],
];
}
$form['actions']['#type'] = 'actions';
$form['actions']['clear'] = [
'#type' => 'submit',
'#value' => $this
->t('Delete all indexed data on this server'),
'#button_type' => 'danger',
];
return $form;
}