This example defines a ShipmentForm component that accepts the props customer,
shipment and targetAction. The form content is defined as afx. The form data is defined
with both values customer and shipment that are both modified and sent to the target
controller.
prototype(Form.Test:Component.ShipmentForm) < prototype(Neos.Fusion:Component) {
customer = null
shipment = null
targetAction = null
renderer = afx`
<Neos.Fusion.Form:Form form.data.customer={props.customer} form.data.shipment={props.shipment} form.target.action={props.targetAction}>
<label for="firstName">First Name</label>
<Neos.Fusion.Form:Input attributes.id="firstName" field.name="customer[firstName]"/>
<label for="lastName">Last Name</label>
<Neos.Fusion.Form:Input attributes.id="lastName" field.name="customer[lastName]"/>
<label>Shipment method</label>
<label><Neos.Fusion.Form:Radio field.name="shipment[method]" field.value="ups"/>UPS</label>
<label><Neos.Fusion.Form:Radio field.name="shipment[method]" field.value="dhl"/>DHL</label>
<label><Neos.Fusion.Form:Radio field.name="shipment[method]" field.value="pickup"/>Pickup</label>
<label for="street">Street</label>
<Neos.Fusion.Form:Input attributes.id="street" field.name="customer[street]"/>
<label for="city">City</label>
<Neos.Fusion.Form:Input attributes.id="city" field.name="customer[city]"/>
<label for="country">Country</label>
<Neos.Fusion.Form:Select attributes.id="country" field.name="shipment[country]">
<Neos.Fusion.Form:Select.Option option.value="de">Germany</Neos.Fusion.Form:Select.Option>
<Neos.Fusion.Form:Select.Option option.value="at">Austria</Neos.Fusion.Form:Select.Option>
<Neos.Fusion.Form:Select.Option option.value="ch">Switzerland</Neos.Fusion.Form:Select.Option>
</Neos.Fusion.Form:Select>
<Neos.Fusion.Form:Button>Submit Order</Neos.Fusion.Form:Button>
</Neos.Fusion.Form:Form>
`
}