Callbacks.php in Drupal 8
File
core/modules/system/tests/modules/ajax_forms_test/src/Callbacks.php
View source
<?php
namespace Drupal\ajax_forms_test;
use Drupal\Core\Ajax\AjaxResponse;
use Drupal\Core\Ajax\DataCommand;
use Drupal\Core\Ajax\HtmlCommand;
use Drupal\Core\Form\FormStateInterface;
class Callbacks {
public function selectCallback($form, FormStateInterface $form_state) {
$response = new AjaxResponse();
$response
->addCommand(new HtmlCommand('#ajax_selected_color', $form_state
->getValue('select')));
$response
->addCommand(new DataCommand('#ajax_selected_color', 'form_state_value_select', $form_state
->getValue('select')));
return $response;
}
public function dateCallback($form, FormStateInterface $form_state) {
$response = new AjaxResponse();
$date = $form_state
->getValue('date');
$response
->addCommand(new HtmlCommand('#ajax_date_value', sprintf('<div>%s</div>', $date)));
$response
->addCommand(new DataCommand('#ajax_date_value', 'form_state_value_date', $form_state
->getValue('date')));
return $response;
}
public function datetimeCallback($form, FormStateInterface $form_state) {
$datetime = $form_state
->getValue('datetime')['date'] . ' ' . $form_state
->getValue('datetime')['time'];
$response = new AjaxResponse();
$response
->addCommand(new HtmlCommand('#ajax_datetime_value', sprintf('<div>%s</div>', $datetime)));
$response
->addCommand(new DataCommand('#ajax_datetime_value', 'form_state_value_datetime', $datetime));
return $response;
}
public function checkboxCallback($form, FormStateInterface $form_state) {
$response = new AjaxResponse();
$response
->addCommand(new HtmlCommand('#ajax_checkbox_value', $form_state
->getValue('checkbox') ? 'checked' : 'unchecked'));
$response
->addCommand(new DataCommand('#ajax_checkbox_value', 'form_state_value_select', (int) $form_state
->getValue('checkbox')));
return $response;
}
public function imageButtonCallback($form, FormStateInterface $form_state) {
$response = new AjaxResponse();
$response
->addCommand(new HtmlCommand('#ajax_image_button_result', "<div id='ajax-1-more-div'>Something witty!</div>"));
return $response;
}
public function checkboxGroupCallback($form, FormStateInterface $form_state) {
return $form['checkbox_in_group_wrapper'];
}
}
Classes
Name |
Description |
Callbacks |
Simple object for testing methods as Ajax callbacks. |