mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°8772 - dynamic form
This commit is contained in:
@@ -168,15 +168,9 @@ class DependencyHandler
|
||||
if ($oDependentBlock->IsVisible($sEventType) && $oDependentBlock->IsInputsDataReady($sEventType)) {
|
||||
|
||||
// Get the dependent field options
|
||||
$aBefore = $oDependentBlock->GetOptionsMergedWithDynamic();
|
||||
$oDependentBlock->UpdateDynamicOptions($sEventType);
|
||||
$aOptions = $oDependentBlock->GetOptionsMergedWithDynamic($sEventType);
|
||||
|
||||
// Options changed flag
|
||||
$bOptionsChanged = FormHelper::CompareArrayValues($aBefore, $aOptions);
|
||||
|
||||
$bOptionsChanged = true;
|
||||
|
||||
// Add the listener callback to the dependent field if it is also a dependency for another field
|
||||
if ($this->oDependenciesMap->IsTheBlockInDependencies($oDependentBlock->getName())) {
|
||||
|
||||
@@ -186,7 +180,7 @@ class DependencyHandler
|
||||
]);
|
||||
}
|
||||
|
||||
if ( (!$oDependentBlock->IsAdded() || $bOptionsChanged) && $oDependentBlock->AllowAdd($sEventType)) {
|
||||
if ($oDependentBlock->AllowAdd($sEventType)) {
|
||||
|
||||
// Add events
|
||||
$this->AddEvent('form.add', $oDependentBlock->getName());
|
||||
|
||||
@@ -8,11 +8,11 @@ namespace Combodo\iTop\Forms\FormBuilder;
|
||||
|
||||
use Combodo\iTop\Forms\Block\AbstractFormBlock;
|
||||
use Combodo\iTop\Forms\Block\AbstractTypeFormBlock;
|
||||
use Combodo\iTop\Forms\Block\Expression\ExpressionFormBlock;
|
||||
use Combodo\iTop\Forms\Block\FormBlock;
|
||||
use Combodo\iTop\Forms\Block\IO\FormBinding;
|
||||
use Combodo\iTop\Forms\Block\IO\FormInput;
|
||||
use Combodo\iTop\Forms\Block\IO\FormOutput;
|
||||
use Combodo\iTop\ItopSdkFormDemonstrator\Form\Block\ExpressionFormBlock;
|
||||
|
||||
/**
|
||||
* Dependencies handler.
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
{% UITurboUpdate Standard { sTarget: "turbo_" ~ sBlockIdentifier} %}
|
||||
{% if oBlockToRedraw is not null %}
|
||||
{{ form_row(oBlockToRedraw) }}
|
||||
{% else %}
|
||||
<div style="background-color: #ecd9eb;border-radius: 6px;padding: 2px 5px;">Reserved place for <b>{{ sBlockIdentifier }}</b></div>
|
||||
{% endif %}
|
||||
{% EndUITurboUpdate %}
|
||||
{% endfor %}
|
||||
Reference in New Issue
Block a user