datetime_extras-8.x-1.x-dev/tests/modules/datetime_extras_test/datetime_extras_test.module
tests/modules/datetime_extras_test/datetime_extras_test.module
<?php
/**
* @file
* Hooks and functionality for datetime_extras_test module.
*/
use Drupal\Core\Form\FormStateInterface;
/**
* Implements hook_form_FORM_ID_alter().
*/
function datetime_extras_test_form_node_datetime_extras_test_form_alter(&$form, FormStateInterface $form_state, $form_id) {
// Create ajax rebuild button with counter.
$form['rebuild_count'] = [
'#type' => 'item',
'#title' => t('Rebuild count:'),
'#markup' => $form_state->get('rebuild_count') ?: 0,
];
$form['rebuild'] = [
'#limit_validation_errors' => [],
'#type' => 'submit',
'#value' => t('Rebuild'),
'#submit' => ['datetime_extras_test_rebuild_submit'],
'#ajax' => [
'callback' => 'datetime_extras_test_rebuild_callback',
'wrapper' => $form['#id'],
],
];
}
/**
* Ajax submit for test content form.
*/
function datetime_extras_test_rebuild_submit(array $form, FormStateInterface $form_state) {
$count = $form_state->get('rebuild_count') ?: 0;
$form_state->set('rebuild_count', $count + 1);
$form_state->setRebuild();
}
/**
* Ajax callback for test content form.
*/
function datetime_extras_test_rebuild_callback(array &$form, FormStateInterface $form_state) {
return $form;
}
