[MGNLUI-4911] As a dev I want to be able to layout forms/editors in arbitrary way Created: 14/May/18  Updated: 10/Mar/21  Resolved: 01/May/19

Status: Closed
Project: Magnolia UI
Component/s: None
Affects Version/s: None
Fix Version/s: 6.1

Type: Task Priority: Neutral
Reporter: Antti Hietala Assignee: Andrei Ichimescu
Resolution: Fixed Votes: 0
Labels: v8-wishlist
Remaining Estimate: 0d
Time Spent: 10d 2h 17m
Original Estimate: Not Specified

Issue Links:
dependency
is depended upon by MGNLUI-4811 Group complex fields visually with sp... Closed
is depended upon by MGNLUI-4909 Ship 2 alternative ways to layout forms Closed
documentation
to be documented by MGNLUI-5143 DOC: How-to customize layout forms/ed... Closed
relation
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Release notes required:
Yes
Documentation update required:
Yes
Date of First Response:
Epic Link: Declarative layout
Sprint: Foundation 8, Foundation 9
Story Points: 8

 Description   

Carried over from DEV-945:

  • Provide a Vaadin declarative layout impl 
  • In case of resource-based layout we could and should provide ftl support (i.e. pre-process the script before binding to the fields)


 Comments   
Comment by Saimir Gasa [ 30/Aug/18 ]

Team sees issue as not necessary for 6.0 release.

Comment by Roman Kovařík [ 26/Apr/19 ]

QA:

If test test it right, it's not possible to bind non magnolia fields (read or write values, adding fields works).

<vaadin-text-field caption="email" _id="email"/>

We should either not support those fields or rather bind those as well, right?

Comment by Andrei Ichimescu [ 26/Apr/19 ]

According to the vaadin documentation, the binding works hand in hand with a @DesignRoot class, that maps the _id attribute to a property (e.g.: email) defined in the DesignRoot class.

For the binding we need to call Design.read(InputStream stream, Component rootComponent), and vaadin relies on reflection to do the binding.

Since the magnolia framework is in charge of producing the layout, and an instance of the DesignRoot class (created by the developer) named rootComponent is needed in the LayoutProducer.createLayout interface, so matching the 2 of them together looks like quite an effort.

Comment by Roman Kovařík [ 02/May/19 ]

For the record: we've implemented binding also for non magnolia fields. Since those have no field definition, it behaves as i18n=false.

Generated at Mon Feb 12 09:21:20 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.