<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 08:57:43 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MGNLUI-2542] Dynamic forms &amp; cross-field interaction</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLUI-2542</link>
                <project id="10625" key="MGNLUI">Magnolia UI</project>
                    <description>&lt;p&gt;It is currently very difficult to come up with &quot;more intelligent&quot; behavior when one field needs to interact with other fields from the same dialog/form.&lt;/p&gt;

&lt;p&gt;We need to support such dynamic forms in a much easier way. Collecting some common requirements:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;populating select options based on the value of another field&lt;/li&gt;
	&lt;li&gt;validating a field depending on the value of another field (including within a composite field itself)&lt;/li&gt;
	&lt;li&gt;enabling/disabling fields conditionally&lt;/li&gt;
	&lt;li&gt;potentially custom handling of any field, via plain Vaadin code&lt;/li&gt;
	&lt;li&gt;properly highlighting validation on sub-fields&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;On a side note, we might as well consider the original title/request if we find a convincing approach for it. &#8212; i.e. providing fields with some convenience access to &quot;basic&quot; properties of the form item.&lt;/p&gt;

&lt;p&gt;More details/acceptance criteria can be found here: &lt;a href=&quot;https://jira.magnolia-cms.com/browse/DEV-920&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.magnolia-cms.com/browse/DEV-920&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="35611">MGNLUI-2542</key>
            <summary>Dynamic forms &amp; cross-field interaction</summary>
                <type id="13" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10887&amp;avatarType=issuetype">Epic</type>
                                            <priority id="2" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/critical.svg">Critical</priority>
                        <status id="10433" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/generic.png" description="This issue has been evaluated by development and accepted to be planned in.">Accepted</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="mgeljic">Mika&#235;l Gelji&#263;</assignee>
                                    <reporter username="had">Jan Haderka</reporter>
                        <labels>
                            <label>estimate-with-uncertainty</label>
                            <label>support</label>
                            <label>to-design</label>
                            <label>ui-ux-impr</label>
                            <label>validation</label>
                    </labels>
                <created>Sun, 5 Jan 2014 16:58:39 +0100</created>
                <updated>Thu, 1 Feb 2024 12:08:13 +0100</updated>
                                            <version>5.0</version>
                    <version>6.2</version>
                                                    <component>dialogs</component>
                    <component>forms</component>
                    <component>framework</component>
                        <due></due>
                            <votes>15</votes>
                                    <watches>29</watches>
                                    <workratio workratioPercent="100"/>
                                    <progress percentage="42">
                                    <originalProgress>
                                                    <row percentage="42" backgroundColor="#89afd7"/>
                                                    <row percentage="58" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="42" backgroundColor="#51a825"/>
                                                    <row percentage="58" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="42">
                                    <originalProgress>
                                                    <row percentage="42" backgroundColor="#89afd7"/>
                                                    <row percentage="58" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="42" backgroundColor="#51a825"/>
                                                    <row percentage="58" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                    <timeoriginalestimate seconds="5400">1.5h</timeoriginalestimate>
                            <timeestimate seconds="7200">0.25d</timeestimate>
                            <timespent seconds="5400">1.5h</timespent>
                                <comments>
                            <comment id="77216" author="had" created="Sun, 5 Jan 2014 17:05:40 +0100"  >&lt;p&gt;For more discussion see &lt;a href=&quot;http://forum.magnolia-cms.com/forum/thread.html?threadId=a94d6db2-77d4-40df-a09f-cb0c06205f70&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://forum.magnolia-cms.com/forum/thread.html?threadId=a94d6db2-77d4-40df-a09f-cb0c06205f70&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="88002" author="ehechinger" created="Fri, 11 Jul 2014 12:24:38 +0200"  >&lt;p&gt;This was discussed some times ago, and due to time pressure we were not able to define a proper solution:&lt;br/&gt;
The idea was to be able to :&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;configure by definition event change listener on
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;form&lt;/li&gt;
		&lt;li&gt;individual field&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The first step would be to discuss this in the architecture cell in order to have a proper concept.&lt;/p&gt;</comment>
                            <comment id="89982" author="mgeljic" created="Wed, 20 Aug 2014 14:44:41 +0200"  >&lt;p&gt;+1 Form is definitely the level where you want to have such dynamic cross-field behavior.&lt;br/&gt;
I see an issue in having super powerful fields, while form would remain a dull black box you can&apos;t touch.&lt;/p&gt;</comment>
                            <comment id="132527" author="chrisj" created="Fri, 23 Sep 2016 20:49:13 +0200"  >&lt;p&gt;Please consider &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLUI-4025&quot; title=&quot;Total Dialog Validation Error Messages and Total Figure Not Synchronised&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLUI-4025&quot;&gt;&lt;del&gt;MGNLUI-4025&lt;/del&gt;&lt;/a&gt;. This issue with validating two or more fields for uniqueness comes from an Enterprise client use case.&lt;/p&gt;</comment>
                            <comment id="132531" author="had" created="Mon, 26 Sep 2016 06:57:00 +0200"  >&lt;p&gt;Hi Chris,&lt;/p&gt;

&lt;p&gt;we are aware of the problem and running number of evaluations to see how to resolve this properly without breaking anything else. It is unfortunately non trivial thing to change.&lt;/p&gt;

&lt;p&gt;If you need to go ahead already and implement such cross validation, you will need to write custom presenter. You can find sample of such code e.g. in external forms module.&lt;/p&gt;</comment>
                            <comment id="132624" author="chrisj" created="Tue, 27 Sep 2016 14:30:58 +0200"  >&lt;p&gt;Thanks, Jan. That&apos;s my intention when I get some spare time - I&apos;ll make sure the GitHub project is updated when I do. I just wanted to include this as an example of what clients are trying to do.&lt;/p&gt;</comment>
                            <comment id="158421" author="ahietala" created="Thu, 5 Apr 2018 15:06:39 +0200"  >&lt;p&gt;New Vaadin 8 based UI framework should bring cross-field validation capability.&lt;/p&gt;</comment>
                            <comment id="187912" author="ahietala" created="Mon, 20 May 2019 07:48:17 +0200"  >&lt;p&gt;Use case from SUGGEST-162:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Category node with subcategories as child nodes in jcr. &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;&#160;it is very common to have another dropdown with only the subcategory items that are relevant to the category dropdown selection.&lt;/p&gt;&lt;/blockquote&gt;</comment>
                            <comment id="206327" author="czimmermann" created="Mon, 6 Jan 2020 09:52:18 +0100"  >&lt;p&gt;A proposal for how the developer experience could work:&#160;&lt;a href=&quot;https://wiki.magnolia-cms.com/display/WIKI/Cross-field+interactions&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.magnolia-cms.com/display/WIKI/Cross-field+interactions&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="243234" author="dmarquez" created="Wed, 9 Dec 2020 09:31:33 +0100"  >&lt;p&gt;Hi all!&lt;/p&gt;

&lt;p&gt;Can we have an aproximate schedule for this functionality? We are missing it for a long time ago and Vaadin 8 facilitates it! Please we need it!&lt;/p&gt;

&lt;p&gt;Cheers&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10360">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                                        </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="60530">CONTEDIT-135</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="78209">MGNLUI-5300</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10040">
                    <name>causality</name>
                                                                <inwardlinks description="is causing">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                            <outwardlinks description="depends upon">
                                                        </outwardlinks>
                                                                <inwardlinks description="is depended upon by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10021">
                    <name>duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10022">
                    <name>supersession</name>
                                            <outwardlinks description="supersedes">
                                        <issuelink>
            <issuekey id="41486">MGNLUI-3240</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="41487">MGNLUI-3241</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="48237">MGNLUI-3617</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 11 Jul 2014 12:24:38 +0200</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10249" key="com.pyxis.greenhopper.jira:gh-epic-color">
                        <customfieldname>Epic Colour</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ghx-label-9</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10247" key="com.pyxis.greenhopper.jira:gh-epic-label">
                        <customfieldname>Epic Name</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>UI framework: dynamic forms and cross-field interaction</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>czimmermann</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 9 weeks, 4 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>ahietala</customfieldvalue>
            <customfieldvalue>czimmermann</customfieldvalue>
            <customfieldvalue>dmarquez</customfieldvalue>
            <customfieldvalue>ehechinger</customfieldvalue>
            <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>mgeljic</customfieldvalue>
            <customfieldvalue>ChrisJ</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i06drv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>36</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>21.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10003" key="com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker">
                        <customfieldname>Visible to</customfieldname>
                        <customfieldvalues>
                                    <customfieldvalue><![CDATA[ygonzalez]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>