Major
Nice to have
Detail
Major
#25471
Generischer Create-Dialog mit dynamischer Formularanzeige
Create-Dialoge sind bisher entweder auf das anzulegende Modell-Element hin spezialisiert, oder die Dialoge legen inkonsistente Modell-Elemente an, weil nicht alle Pflichtattribute gefüllt sind.
Verbesserung
Ein generischer Create-Dialog, der standardmäßig die Formulardefinition des anzulegenden Modell-Elements anzeigt. Wenn an einer Stelle mehrere Typen angelegt werden können, soll der Dialog eine Auswahl der möglichen Anlagetypen anbieten und das angezeigte Formular entsprechend anpassen. Pro Anlagetyp soll das Formular spezialisiert werden können, um beispielsweise nur eine Auswahl der Attribute des Modell-Elements bei der Anlage anzubieten.
Anwendung
- /com.top_logic.element/create/genericCreate.xml
- /com.top_logic.element/create/genericCreateStructure.xml
- /com.top_logic.model.search/create/genericCreateDialog.template.xml
Code-Migration
- Die XML-Syntax von tl:PostCreateAction hat sich geändert. Statt {{{#!xml
<setModel channel="selection">
<target>
<dialogParent/>
</target>
</setModel> }}}
Jetzt:
{{{#!xml
<setModel target="selection(dialogParent())"/> }}}
- Das Temlate element/createStructuredElement.xml kann durch com.top_logic.element/create/genericCreateStructure.xml ersetzt werden (drop-in Replacement), um einen Anlage-Dialog mit automatischer Formulardarstellung zu erhalten.
- Die Templates element/createAttributed.xml und element/meta/createStructuredElement.xml sollten ebenfalls durch com.top_logic.element/create/genericCreateStructure.xml bzw. durch com.top_logic.element/create/genericCreate.xml abgelöst werden (Neu-Konfiguration notwendig).
- Die folgenden Komponenten sind deprecated. Diese und deren Unterklassen sollten durch com.top_logic.element.layout.create.GenericCreateComponent abgelöst werden:
- com.top_logic.element.layout.structured.CreateAttributedStructuredElementComponent
- com.top_logic.element.layout.structured.StructuredElementCreateComponent
- com.top_logic.element.meta.gui.CreateAttributedComponent
- com.top_logic.element.meta.gui.DefaultCreateAttributedComponent
Test
- Der Standard-Create-Dialog für tl:StructuredElement z.B. für die Anlage von DemoTypes:A:
- /com.top_logic.demo/src/test/com/top_logic/demo/scripted/model/attribute/TestCompositeAttribute.script.xml
- `/com.top_logic.demo/src/test/com/top_logic/demo/scripted/layout/TestStructureCreateDialog.script.xml `