[MGNLUI-2808] Performance suffers when filling MultiValueFieldDefinition with many fields Created: 16/Apr/14  Updated: 09/Jul/15  Resolved: 05/May/14

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

Type: Bug Priority: Critical
Reporter: Ondrej Chytil Assignee: Eric Hechinger
Resolution: Fixed Votes: 0
Labels: support
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: XML File config.modules.standard-templating-kit.dialogs.components.content.stkTextImage.form.tabs.tabTest.xml     File magnolia-ui-form-5.2.5-SNAPSHOT-MGNLUI-2808.jar    
Issue Links:
causality
is causing MSHOP-195 2.0.0 doesn't work against Magnolia 5... Resolved
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:
Sprint: 5.3 Sprint 6

 Description   

Steps to reproduce:

  • import attached xml into stkTextImage dialog
  • create new text image on any page
  • start adding and filling the fields

Issues:

  • when you edit one field, jump to next edit and so on..., you can then see that some fields you filled are blank afterwards (value is not saved before the next field is made active)
  • doing that more quickly can result in unresponsive instance


 Comments   
Comment by Aleksandr Pchelintcev [ 18/Apr/14 ]

The problem seems to be caused by the

AbstractCustomMultiField.java
    protected Property.ValueChangeListener datasourceListener = new ValueChangeListener() {
        @Override
        public void valueChange(com.vaadin.data.Property.ValueChangeEvent event) {
            T newValue = (T) event.getProperty().getValue();
            initFields(newValue);
        }
    };

which is invoked after value change of any field in the hierarchy. Would be rather easy to cure by limiting the invocations of this listeners to only the necessary cases - e.g. when the field's property datasource changes (usually - due to different language setting).

Comment by Eric Hechinger [ 05/May/14 ]

for reviewer pushed under MGNLUI-2808-int

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