Major
Nice to have
Detail
Detail
#25768
DataItemControl reagiert inkonsequent auf DataField.setDownload()
Bei Erzeugung eines DataItemControl`s wird die Download-Konfiguration des `DataField`s beachtet, sodass bei deaktiviertem Download kein entsprechendes Kommando registriert wird. Beim Rendern wird diese Konfiguration jedoch mißachtet, sodass dem Nutzer stets ein Download-Button angezeigt wird. Ist der Download im Feld deaktiviert und der Nutzer klickt auf den Button, fällt eine Exception und dem Nutzer wird eine technische Fehlermeldung präsentiert. Daher soll das `DataItemControl die Download-Konfiguration auch beim Rendern beachten. Dieser Fehler tritt nur im Zustand immutable auf.
Verbesserung
Wenn ein DataField immutable ist, verwendet es den DownloadImageRenderer, um den Download Button zu rendern. Dieser rendert unabhängig von der Konfiguration, ob Downloads überhaupt möglich sind, einen Download Button. Mit dem neuen Feld isDownloadAllowed wird nun auch die Konfiguration berücksichtigt und der Button nicht gerendert.
Codemigration
Der Konstruktor vom DownloadImageRenderer DownloadImageRenderer(boolean downloadAllowed) hat den Parameter downloadAllowed erhalten. INSTANCE erstellt einen DownloadImageRenderer mit downloadAllowed = true.
Test
In der technischen Demo unter Formulare wurden zwei immutable DataFields unter DataField hinzugefügt. Eines davon erlaubt den Download, das andere nicht. Entsprechend müssen die Buttons gerendert sein.