enhancement
major
minor
defect
critical
major
minor
Problem
<null-input-disabled/> prüft nur das erste Argument aus inputs. Ist ein anderes Argument leer (z. B. die Auswahl an zweiter Stelle), bleibt der Befehl aktiv.
Version: 8.0.0-alpha12, React-View-Layer (tl-layout-view/tl-layout-react).
Reproduktion (Prime)
Anhänge (prime/project/attachments.view.xml), ein auswahlabhängiger Befehl mit inputs="owner, attachment, readOnly" und <null-input-disabled/>: Ohne gewählten Anhang ist der Befehl aktiv.
Prime: Auswahlabhängige Befehle nennen die Auswahl zuerst (inputs="attachment, owner, readOnly").
Erwartetes Verhalten
null-input-disabled prüft alle Inputs oder hat eine Option für die gemeinten Inputs (z. B. <null-input-disabled inputs="attachment"/>).
Lösung
<null-input-disabled> und <null-input-hidden> erhalten ein optionales Attribut inputs mit den Namen der Argumente, die nicht leer sein dürfen: {{{#!xml <generic-command inputs="owner, attachment, readOnly">
<executability>
<null-input-disabled inputs="attachment"/>
</executability>
...
</generic-command> }}} Der Befehl ist deaktiviert (bzw. ausgeblendet), sobald eines der genannten Argumente null ist. Ohne das Attribut prüft die Regel wie bisher nur das Hauptargument (den Wert des Auslösers, sonst den ersten Input), bestehende Views ändern ihr Verhalten also nicht. Ein Name, der kein Argument des Befehls ist, wird beim Laden der Konfiguration als Fehler gemeldet.