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;
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc