Project

General

Profile

« Previous | Next » 

Revision 725d1ff2

Added by Andreas Kohlbecker almost 6 years ago

fix #7528 indroducing RegistrationStatusSelect to allow setting the status in the RegistrationWorkingsetEditor

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorksetViewBean.java
31 31
import com.vaadin.server.Page;
32 32
import com.vaadin.shared.ui.label.ContentMode;
33 33
import com.vaadin.spring.annotation.SpringView;
34
import com.vaadin.ui.AbstractField;
34 35
import com.vaadin.ui.Alignment;
35 36
import com.vaadin.ui.Button;
37
import com.vaadin.ui.Component;
36 38
import com.vaadin.ui.CssLayout;
37 39
import com.vaadin.ui.GridLayout;
38 40
import com.vaadin.ui.HorizontalLayout;
......
58 60
import eu.etaxonomy.cdm.vaadin.component.registration.RegistrationItemNameAndTypeButtons;
59 61
import eu.etaxonomy.cdm.vaadin.component.registration.RegistrationItemNameAndTypeButtons.TypeDesignationWorkingSetButton;
60 62
import eu.etaxonomy.cdm.vaadin.component.registration.RegistrationItemsPanel;
63
import eu.etaxonomy.cdm.vaadin.component.registration.RegistrationStatusFieldInstantiator;
61 64
import eu.etaxonomy.cdm.vaadin.component.registration.RegistrationStatusLabel;
62 65
import eu.etaxonomy.cdm.vaadin.component.registration.RegistrationStyles;
63 66
import eu.etaxonomy.cdm.vaadin.event.AbstractEditorAction.EditorActionContext;
......
135 138
     */
136 139
    private Map<UUID, EntityReference> typifiedNamesMap = new HashMap<>();
137 140

  
141
    private RegistrationStatusFieldInstantiator statusFieldInstantiator;
142

  
143

  
138 144
    public RegistrationWorksetViewBean() {
139 145
        super();
140 146
    }
......
386 392
                );
387 393
        messageButton.setStyleName(ValoTheme.BUTTON_TINY);
388 394

  
389
        RegistrationStatusLabel stateLabel = new RegistrationStatusLabel().update(dto.getStatus());
395
        Component statusComponent;
396
        if(statusFieldInstantiator != null){
397
            AbstractField<Object> statusField = statusFieldInstantiator.create(dto);
398
            statusField.setValue(dto.getStatus());
399
            statusComponent = statusField;
400
        } else {
401
            statusComponent = new RegistrationStatusLabel().update(dto.getStatus());
402
        }
390 403
        Label submitterLabel = new Label(dto.getSubmitterUserName());
391 404
        submitterLabel.setStyleName(LABEL_NOWRAP + " submitter");
392 405
        submitterLabel.setIcon(FontAwesome.USER);
393 406
        submitterLabel.setContentMode(ContentMode.HTML);
394
        CssLayout stateAndSubmitter = new CssLayout(stateLabel, submitterLabel);
407
        CssLayout stateAndSubmitter = new CssLayout(statusComponent, submitterLabel);
395 408

  
396 409

  
397 410
        if(UserHelper.fromSession().userIsRegistrationCurator() || UserHelper.fromSession().userIsAdmin()) {
......
588 601
    }
589 602

  
590 603

  
604
    /**
605
     * @param statusFieldInstantiator the statusFieldInstantiator to set
606
     */
607
    @Override
608
    public void setStatusComponentInstantiator(RegistrationStatusFieldInstantiator statusComponentInstantiator) {
609
        this.statusFieldInstantiator = statusComponentInstantiator;
610
    }
611

  
612

  
591 613
}

Also available in: Unified diff