diff --git a/src/Form/Control/Callbacks/RecalculateCallback.php b/src/Form/Control/Callbacks/RecalculateCallback.php index b6efa7a..a5fb56d 100644 --- a/src/Form/Control/Callbacks/RecalculateCallback.php +++ b/src/Form/Control/Callbacks/RecalculateCallback.php @@ -28,16 +28,23 @@ final class RecalculateCallback { /** - * @phpstan-param array $form $form + * This method may be used by other modules to have custom AJAX callbacks that + * sill can perform recalculation. */ - public static function onChange(array &$form, FormStateInterface $formState): AjaxResponse { + public static function addAjaxCommands(AjaxResponse $response, FormStateInterface $formState): void { /** @var \Drupal\json_forms\Form\AbstractJsonFormsForm $formObject */ $formObject = $formState->getFormObject(); $newData = FieldNameUtil::toFormData($formObject->calculateData($formState)); $oldData = $formState->getValues(); + RecalculateCallbackUtil::addAjaxCommands($response, $formState, $oldData, $newData); + } + /** + * @phpstan-param array $form $form + */ + public static function onChange(array &$form, FormStateInterface $formState): AjaxResponse { $response = new AjaxResponse(); - RecalculateCallbackUtil::addAjaxCommands($response, $formState, $oldData, $newData); + self::addAjaxCommands($response, $formState); return $response; }