<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 09:05:13 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-3297] Allow for disabling of paging on select field dropdown </title>
                <link>https://jira.magnolia-cms.com/browse/MGNLUI-3297</link>
                <project id="10625" key="MGNLUI">Magnolia UI</project>
                    <description>&lt;p&gt;Allow for the disabling of paging on the select field dropdown. From what I have seen in my investigation is that we could introduce a pageLength private member in &lt;tt&gt;info.magnolia.ui.form.field.definition.SelectFieldDefinition&lt;/tt&gt;. Add the appropriate getter/setter as well. Then in the &lt;tt&gt;info.magnolia.ui.form.field.factory.SelectFieldFactory&lt;/tt&gt; class we could add a line to the createFieldComponent() method which uses the setPageLength() method from &lt;tt&gt;com.vaadin.ui.ComboBox&lt;/tt&gt;. Like this:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
((ComboBox) select).setPageLength(definition.getPageLength());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This would then allow a user to configure the page length to 0 which turns off paging as noted in the class &lt;tt&gt;com.vaadin.ui.ComboBox&lt;/tt&gt;.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
/**
* Holds value of property pageLength. 0 disables paging.
*/
&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; pageLength = 10;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="42085">MGNLUI-3297</key>
            <summary>Allow for disabling of paging on select field dropdown </summary>
                <type id="2" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10891&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="mgeljic">Mika&#235;l Gelji&#263;</assignee>
                                    <reporter username="rgange">Richard Gange</reporter>
                        <labels>
                            <label>support</label>
                    </labels>
                <created>Mon, 15 Dec 2014 11:41:54 +0100</created>
                <updated>Wed, 14 Nov 2018 12:14:09 +0100</updated>
                            <resolved>Thu, 19 Feb 2015 18:12:07 +0100</resolved>
                                    <version>5.3.6</version>
                                    <fixVersion>5.3.8</fixVersion>
                                    <component>forms</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="99083" author="mgeljic" created="Thu, 19 Feb 2015 18:07:30 +0100"  >&lt;p&gt;Paging is just the Vaadin default for the &lt;tt&gt;ComboBox&lt;/tt&gt; component. We don&apos;t have any apparent need for it though, so we&apos;ll simply turn pagination off. In other words we don&apos;t make that configurable.&lt;br/&gt;
Besides, from the UX stand point, if you happen to need such paging in a plain select, then it&apos;s probably the wrong control in the first place.&lt;/p&gt;</comment>
                            <comment id="104897" author="mihxil" created="Wed, 27 May 2015 10:10:15 +0200"  >&lt;p&gt;I find in SelectFieldFactory now the following:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
            ((ComboBox) select).setPageLength(0);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It seems that I cannot set the page length at all any more. I ended up extending it to get this working again.&lt;/p&gt;</comment>
                            <comment id="104902" author="mgeljic" created="Wed, 27 May 2015 10:33:35 +0200"  >&lt;p&gt;Hi Michiel,&lt;/p&gt;

&lt;p&gt;My previous comment explaining the rationale for this change was not publicly visible somehow, so I just changed that.&lt;br/&gt;
Can you maybe elaborate on what your use case is? If you do need that kind of low-level Vaadin customization, I&apos;d say extending the select field is the way to go.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br/&gt;
Mika&lt;/p&gt;</comment>
                            <comment id="104912" author="mihxil" created="Wed, 27 May 2015 11:17:04 +0200"  >&lt;p&gt;I simple have a very long combobox. With 250 entries or so, which really displays badly without paging.  I generate the combox-box options from the values of an enum (for that I needed to extend OptionGroupFieldDefinition).&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;class &lt;/span&gt;ChannelSelect &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; OptionGroupFieldDefinition  {
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; ChannelSelect() {
        setOptions(createOptions());
        setSortOptions(&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
        setMultiselect(&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
        setFilteringMode(1);
    }

    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; List&amp;lt;SelectFieldOptionDefinition&amp;gt; createOptions() {
        List&amp;lt;SelectFieldOptionDefinition&amp;gt; options = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ArrayList&amp;lt;&amp;gt;();
        options.add(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; OptionBuilder()
            .label(&lt;span class=&quot;code-quote&quot;&gt;&quot;-&quot;&lt;/span&gt;)
            .value(&lt;span class=&quot;code-quote&quot;&gt;&quot; &quot;&lt;/span&gt;).definition());
        &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (Channel channel : Channel.values()) {
            options.add(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; OptionBuilder()
                    .label(channel.toString())
                    .value(channel.name())
                    .definition()
            );         
        }
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; options;
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I actually don&apos;t see the point of making a different decision than vaadin itself did. They think that pageLength needs to be configurable, and I suppose they know what they are talking about. So why isn&apos;t it in SelectFieldFactory/SelectFieldDefinition? &lt;/p&gt;

&lt;p&gt;Of course, I can simply extend it, as I have done now, but I must say it is a bit annoying. I end up making many classes to do quite simple things. One setter, and I wouldn&apos;t have to, which would have been less cumbersome.&lt;/p&gt;

&lt;p&gt;But anyhow, I think that I will not be ready with this either, because the performance of a form with a select of 250 entries is, even they are paged, too bad to be actually useable. I&apos;m now looking into that. Perhaps I need to somehow lazy load those options or so. &lt;/p&gt;</comment>
                            <comment id="124317" author="mgeljic" created="Tue, 19 Apr 2016 15:38:36 +0200"  >&lt;p&gt;Just a late update on this one: &lt;tt&gt;pageLength&lt;/tt&gt; was eventually added to &lt;tt&gt;SelectFieldDefinition&lt;/tt&gt;, as early as 5.3.9 (see related ticket), for slightly different reasons though.&lt;/p&gt;

&lt;p&gt;I was not questioning Vaadin&apos;s choice of defaults, but in the Magnolia case, options are &lt;em&gt;typically&lt;/em&gt; configured. As such, There are hardly cases where you&apos;d have even just a hundred configured options. When that is the case, the &quot;factory way&quot; seems indeed to be a better fit than the configured way.&lt;/p&gt;

&lt;p&gt;I&apos;m still convinced it&apos;s much easier for &lt;em&gt;devs&lt;/em&gt; to explicitly use paging for these cases (given you need the factory anyway), as it would be for &lt;em&gt;admins&lt;/em&gt; to disable paging when they had 11 configured items.&lt;/p&gt;

&lt;p&gt;Just for the open discussion, I&apos;m personally not fond of mirroring each and every Vaadin property into our definitions; we shouldn&apos;t even &lt;em&gt;imply&lt;/em&gt; that we&apos;re specifically using a &lt;tt&gt;ComboBox&lt;/tt&gt; for that matter.&lt;br/&gt;
On the other hand, I do recognize that configuring and wiring those little things can still be improved; I&apos;m always looking for ways to help using Vaadin skills more directly and more easily inside Magnolia (without necessarily having Magnolia playing the facade for it).&lt;/p&gt;

&lt;p&gt;By the way, &lt;tt&gt;SelectFieldFactory&lt;/tt&gt; is still a bit limited Container-wise; not sure you could have gone much further with performance, without overriding as well &lt;tt&gt;#createFieldComponent&lt;/tt&gt; and set the &lt;tt&gt;Container&lt;/tt&gt; as datasource more freely there...&lt;/p&gt;

&lt;p&gt;Better late than never &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10040">
                    <name>causality</name>
                                                                <inwardlinks description="is causing">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="45261">MGNLUI-3438</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="26690" name="pagingExample.png" size="84100" author="rgange" created="Mon, 15 Dec 2014 11:43:05 +0100"/>
                            <attachment id="26692" name="selectComponentExample.png" size="105632" author="rgange" created="Mon, 15 Dec 2014 12:04:03 +0100"/>
                    </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>Thu, 19 Feb 2015 18:07:30 +0100</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_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>mgeljic</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            7 years, 43 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>mihxil</customfieldvalue>
            <customfieldvalue>mgeljic</customfieldvalue>
            <customfieldvalue>rgange</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i04hmf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>26325</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_10032" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>