Skip to content

Commit 3368b5f

Browse files
authored
Merge pull request #99 from systopia/initial-calculation-hidden-fields-rebuild
Don't use hidden fields to trigger event for initial calculation. Perform initial calculation on rebuild.
2 parents 4714b00 + 6b6b33d commit 3368b5f

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/Form/AbstractJsonFormsForm.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ protected function buildJsonFormsForm(
116116
$formState->set('$limitValidationUsed', TRUE);
117117
}
118118

119+
if ($formState->isRebuilding()) {
120+
$formState->set('$hasCalcInitField', FALSE);
121+
}
122+
119123
$definition = DefinitionFactory::createDefinition($uiSchema, $jsonSchema);
120124
$form = $this->formArrayFactory->createFormArray($definition, $formState);
121125

@@ -130,7 +134,7 @@ protected function buildJsonFormsForm(
130134
$form['#attached']['library'][] = 'json_forms/disable_buttons_on_ajax';
131135
$form['#attached']['library'][] = 'json_forms/vertical_tabs';
132136

133-
if (!$formState->isCached()) {
137+
if (!$formState->isCached() || $formState->isRebuilding()) {
134138
if (TRUE === $formState->get('$calculateUsed')) {
135139
$form['#attached']['library'][] = 'json_forms/initial_calculation';
136140
}

src/Form/Control/Util/BasicFormPropertiesFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public static function createFieldProperties(ControlDefinition $definition, Form
9090
if ($definition->isCalculated()) {
9191
$formState->set('$calculateUsed', TRUE);
9292
}
93-
elseif (!$formState->has('$hasCalcInitField')) {
93+
elseif (TRUE !== $formState->get('$hasCalcInitField') && 'hidden' !== $definition->getOptionsValue('type')) {
9494
$formState->set('$hasCalcInitField', TRUE);
9595
$calcInitField = TRUE;
9696
}

0 commit comments

Comments
 (0)