Example usage for com.vaadin.v7.ui OptionGroup setVisible

List of usage examples for com.vaadin.v7.ui OptionGroup setVisible

Introduction

In this page you can find the example usage for com.vaadin.v7.ui OptionGroup setVisible.

Prototype

public void setVisible(boolean visible);

Source Link

Document

Sets the visibility of the component.

Usage

From source file:de.symeda.sormas.ui.dashboard.AbstractDashboardView.java

License:Open Source License

protected AbstractDashboardView(String viewName, DashboardType dashboardType) {
    super(viewName);

    addStyleName(DashboardCssStyles.DASHBOARD_SCREEN);

    dashboardDataProvider = new DashboardDataProvider();
    if (dashboardDataProvider.getDashboardType() == null) {
        dashboardDataProvider.setDashboardType(dashboardType);
    }/*from  ww  w. jav  a  2 s  .c om*/

    OptionGroup dashboardSwitcher = new OptionGroup();
    CssStyles.style(dashboardSwitcher, CssStyles.FORCE_CAPTION, ValoTheme.OPTIONGROUP_HORIZONTAL,
            CssStyles.OPTIONGROUP_HORIZONTAL_PRIMARY);
    if (UserProvider.getCurrent().hasUserRight(UserRight.DASHBOARD_SURVEILLANCE_ACCESS)) {
        dashboardSwitcher.addItem(DashboardType.SURVEILLANCE);
        dashboardSwitcher.setItemCaption(DashboardType.SURVEILLANCE,
                I18nProperties.getEnumCaption(DashboardType.SURVEILLANCE));
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.DASHBOARD_CONTACT_ACCESS)) {
        dashboardSwitcher.addItem(DashboardType.CONTACTS);
        dashboardSwitcher.setItemCaption(DashboardType.CONTACTS,
                I18nProperties.getEnumCaption(DashboardType.CONTACTS));
    }
    dashboardSwitcher.setValue(dashboardType);
    dashboardSwitcher.addValueChangeListener(e -> {
        dashboardDataProvider.setDashboardType((DashboardType) e.getProperty().getValue());
        if (e.getProperty().getValue().equals(DashboardType.SURVEILLANCE)) {
            SormasUI.get().getNavigator().navigateTo(SurveillanceDashboardView.VIEW_NAME);
        } else {
            SormasUI.get().getNavigator().navigateTo(ContactsDashboardView.VIEW_NAME);
        }
    });
    addHeaderComponent(dashboardSwitcher);

    // Hide the dashboard switcher if only one dashboard is accessible to the user
    if (dashboardSwitcher.size() <= 1) {
        dashboardSwitcher.setVisible(false);
    }

    // Dashboard layout
    dashboardLayout = new VerticalLayout();
    dashboardLayout.setMargin(false);
    dashboardLayout.setSpacing(false);
    dashboardLayout.setSizeFull();
    dashboardLayout.setStyleName("crud-main-layout");

    // Filter bar
    filterLayout = new DashboardFilterLayout(this, dashboardDataProvider);
    dashboardLayout.addComponent(filterLayout);

    addComponent(dashboardLayout);
}

From source file:de.symeda.sormas.ui.samples.SampleCreateForm.java

License:Open Source License

private void initializeRequestedTests() {
    // Yes/No fields for requesting pathogen/additional tests
    OptionGroup pathogenTestingRequestedField = addField(SampleDto.PATHOGEN_TESTING_REQUESTED,
            OptionGroup.class);
    CssStyles.style(pathogenTestingRequestedField, CssStyles.OPTIONGROUP_CAPTION_AREA_INLINE);
    pathogenTestingRequestedField.setWidthUndefined();
    OptionGroup additionalTestingRequestedField = addField(SampleDto.ADDITIONAL_TESTING_REQUESTED,
            OptionGroup.class);
    CssStyles.style(additionalTestingRequestedField, CssStyles.OPTIONGROUP_CAPTION_AREA_INLINE);
    additionalTestingRequestedField.setWidthUndefined();

    // CheckBox groups to select the requested pathogen/additional tests
    OptionGroup requestedPathogenTestsField = addField(SampleDto.REQUESTED_PATHOGEN_TESTS, OptionGroup.class);
    CssStyles.style(requestedPathogenTestsField, CssStyles.OPTIONGROUP_CHECKBOXES_HORIZONTAL);
    requestedPathogenTestsField.setMultiSelect(true);
    requestedPathogenTestsField.addItems((Object[]) PathogenTestType.values());
    requestedPathogenTestsField.removeItem(PathogenTestType.OTHER);
    requestedPathogenTestsField.setCaption(null);
    OptionGroup requestedAdditionalTestsField = addField(SampleDto.REQUESTED_ADDITIONAL_TESTS,
            OptionGroup.class);
    CssStyles.style(requestedAdditionalTestsField, CssStyles.OPTIONGROUP_CHECKBOXES_HORIZONTAL);
    requestedAdditionalTestsField.setMultiSelect(true);
    requestedAdditionalTestsField.addItems((Object[]) AdditionalTestType.values());
    requestedAdditionalTestsField.setCaption(null);

    // Text fields to type in other tests
    TextField requestedOtherPathogenTests = addField(SampleDto.REQUESTED_OTHER_PATHOGEN_TESTS, TextField.class);
    TextField requestedOtherAdditionalTests = addField(SampleDto.REQUESTED_OTHER_ADDITIONAL_TESTS,
            TextField.class);

    // Information texts
    Label requestedPathogenInfoLabel = new Label(I18nProperties.getString(Strings.infoSamplePathogenTesting));
    getContent().addComponent(requestedPathogenInfoLabel, PATHOGEN_TESTING_INFO_LOC);
    Label requestedAdditionalInfoLabel = new Label(
            I18nProperties.getString(Strings.infoSampleAdditionalTesting));
    getContent().addComponent(requestedAdditionalInfoLabel, ADDITIONAL_TESTING_INFO_LOC);

    // Set initial visibility
    requestedPathogenTestsField.setVisible(false);
    requestedPathogenInfoLabel.setVisible(false);
    requestedAdditionalTestsField.setVisible(false);
    requestedAdditionalInfoLabel.setVisible(false);
    requestedOtherPathogenTests.setVisible(false);
    requestedOtherAdditionalTests.setVisible(false);

    // CheckBoxes should be hidden when no tests are requested
    pathogenTestingRequestedField.addValueChangeListener(f -> {
        requestedPathogenInfoLabel.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
        requestedPathogenTestsField.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
        requestedOtherPathogenTests.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
    });/*w w w . ja v a2  s . c o m*/

    if (!UserProvider.getCurrent().hasUserRight(UserRight.ADDITIONAL_TEST_VIEW)) {
        // Hide additional testing fields when user is not allowed to see them
        additionalTestingRequestedField.setVisible(false);
    } else {
        additionalTestingRequestedField.addValueChangeListener(f -> {
            requestedAdditionalInfoLabel.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
            requestedAdditionalTestsField.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
            requestedOtherAdditionalTests.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
        });
    }
}

From source file:de.symeda.sormas.ui.samples.SampleEditForm.java

License:Open Source License

private void initializeRequestedTests() {
    // Yes/No fields for requesting pathogen/additional tests
    OptionGroup pathogenTestingRequestedField = addField(SampleDto.PATHOGEN_TESTING_REQUESTED,
            OptionGroup.class);
    CssStyles.style(pathogenTestingRequestedField, CssStyles.OPTIONGROUP_CAPTION_AREA_INLINE);
    pathogenTestingRequestedField.setWidthUndefined();
    OptionGroup additionalTestingRequestedField = addField(SampleDto.ADDITIONAL_TESTING_REQUESTED,
            OptionGroup.class);
    CssStyles.style(additionalTestingRequestedField, CssStyles.OPTIONGROUP_CAPTION_AREA_INLINE);
    additionalTestingRequestedField.setWidthUndefined();

    // CheckBox groups to select the requested pathogen/additional tests
    OptionGroup requestedPathogenTestsField = addField(SampleDto.REQUESTED_PATHOGEN_TESTS, OptionGroup.class);
    CssStyles.style(requestedPathogenTestsField, CssStyles.OPTIONGROUP_CHECKBOXES_HORIZONTAL);
    requestedPathogenTestsField.setMultiSelect(true);
    requestedPathogenTestsField.addItems((Object[]) PathogenTestType.values());
    requestedPathogenTestsField.removeItem(PathogenTestType.OTHER);
    requestedPathogenTestsField.setCaption(null);
    OptionGroup requestedAdditionalTestsField = addField(SampleDto.REQUESTED_ADDITIONAL_TESTS,
            OptionGroup.class);
    CssStyles.style(requestedAdditionalTestsField, CssStyles.OPTIONGROUP_CHECKBOXES_HORIZONTAL);
    requestedAdditionalTestsField.setMultiSelect(true);
    requestedAdditionalTestsField.addItems((Object[]) AdditionalTestType.values());
    requestedAdditionalTestsField.setCaption(null);

    // Text fields to type in other tests
    TextField requestedOtherPathogenTests = addField(SampleDto.REQUESTED_OTHER_PATHOGEN_TESTS, TextField.class);
    TextField requestedOtherAdditionalTests = addField(SampleDto.REQUESTED_OTHER_ADDITIONAL_TESTS,
            TextField.class);

    // The code below relies on getValue() to return the sample of the form and therefore has to be delayed until the sample is set
    addValueChangeListener(e -> {//from   w  w w  .  j  av  a 2s. co  m
        if (!requestedTestsInitialized) {
            if (UserProvider.getCurrent().hasUserRight(UserRight.SAMPLE_EDIT_NOT_OWNED)
                    || UserProvider.getCurrent().getUuid().equals(getValue().getReportingUser().getUuid())) {
                // Information texts for users that can edit the requested tests
                Label requestedPathogenInfoLabel = new Label(
                        I18nProperties.getString(Strings.infoSamplePathogenTesting));
                getContent().addComponent(requestedPathogenInfoLabel, PATHOGEN_TESTING_INFO_LOC);
                Label requestedAdditionalInfoLabel = new Label(
                        I18nProperties.getString(Strings.infoSampleAdditionalTesting));
                getContent().addComponent(requestedAdditionalInfoLabel, ADDITIONAL_TESTING_INFO_LOC);

                // Set initial visibility
                requestedPathogenTestsField
                        .setVisible(Boolean.TRUE.equals(getValue().getPathogenTestingRequested()));
                requestedPathogenInfoLabel
                        .setVisible(Boolean.TRUE.equals(getValue().getPathogenTestingRequested()));
                requestedOtherPathogenTests
                        .setVisible(Boolean.TRUE.equals(getValue().getPathogenTestingRequested()));

                // CheckBoxes should be hidden when no tests are requested
                pathogenTestingRequestedField.addValueChangeListener(f -> {
                    requestedPathogenInfoLabel.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
                    requestedPathogenTestsField.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
                    requestedOtherPathogenTests.setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
                });

                if (!UserProvider.getCurrent().hasUserRight(UserRight.ADDITIONAL_TEST_VIEW)) {
                    // Hide additional testing fields when user is not allowed to see them
                    additionalTestingRequestedField.setVisible(false);
                    requestedAdditionalTestsField.setVisible(false);
                    requestedAdditionalInfoLabel.setVisible(false);
                    requestedOtherAdditionalTests.setVisible(false);
                } else {
                    requestedAdditionalTestsField
                            .setVisible(Boolean.TRUE.equals(getValue().getAdditionalTestingRequested()));
                    requestedAdditionalInfoLabel
                            .setVisible(Boolean.TRUE.equals(getValue().getAdditionalTestingRequested()));
                    requestedOtherAdditionalTests
                            .setVisible(Boolean.TRUE.equals(getValue().getAdditionalTestingRequested()));

                    additionalTestingRequestedField.addValueChangeListener(f -> {
                        requestedAdditionalInfoLabel
                                .setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
                        requestedAdditionalTestsField
                                .setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
                        requestedOtherAdditionalTests
                                .setVisible(f.getProperty().getValue().equals(Boolean.TRUE));
                    });
                }
            } else {
                // If the user can't edit the sample, they see a read-only list of requested tests
                setVisible(false, SampleDto.PATHOGEN_TESTING_REQUESTED, SampleDto.ADDITIONAL_TESTING_REQUESTED,
                        SampleDto.REQUESTED_PATHOGEN_TESTS, SampleDto.REQUESTED_ADDITIONAL_TESTS);

                // Display a label for every requested pathogen test or hide the whole section if no tests have been requested
                if (Boolean.TRUE.equals(getValue().getPathogenTestingRequested())
                        && !getValue().getRequestedPathogenTests().isEmpty()) {
                    Label pathogenTestsHeading = new Label(
                            I18nProperties.getString(Strings.headingRequestedPathogenTests));
                    CssStyles.style(pathogenTestsHeading, CssStyles.LABEL_BOLD, CssStyles.LABEL_SECONDARY,
                            CssStyles.VSPACE_4);
                    getContent().addComponent(pathogenTestsHeading, PATHOGEN_TESTING_READ_HEADLINE_LOC);

                    CssLayout requestedPathogenTestsLayout = new CssLayout();
                    CssStyles.style(requestedPathogenTestsLayout, CssStyles.VSPACE_3);
                    for (PathogenTestType testType : getValue().getRequestedPathogenTests()) {
                        Label testLabel = new Label(testType.toString());
                        testLabel.setWidthUndefined();
                        CssStyles.style(testLabel, CssStyles.LABEL_ROUNDED_CORNERS,
                                CssStyles.LABEL_BACKGROUND_FOCUS_LIGHT, CssStyles.VSPACE_4,
                                CssStyles.HSPACE_RIGHT_4);
                        requestedPathogenTestsLayout.addComponent(testLabel);
                    }
                    getContent().addComponent(requestedPathogenTestsLayout, REQUESTED_PATHOGEN_TESTS_READ_LOC);
                }

                // If the user can view additional tests, display a label for every requested additional test
                // or hide the whole section if no tests have been requested
                if (UserProvider.getCurrent().hasUserRight(UserRight.ADDITIONAL_TEST_VIEW)
                        && Boolean.TRUE.equals(getValue().getAdditionalTestingRequested())
                        && !getValue().getRequestedAdditionalTests().isEmpty()) {
                    Label additionalTestsHeading = new Label(
                            I18nProperties.getString(Strings.headingRequestedAdditionalTests));
                    CssStyles.style(additionalTestsHeading, CssStyles.LABEL_BOLD, CssStyles.LABEL_SECONDARY,
                            CssStyles.VSPACE_4);
                    getContent().addComponent(additionalTestsHeading, ADDITIONAL_TESTING_READ_HEADLINE_LOC);

                    CssLayout requestedAdditionalTestsLayout = new CssLayout();
                    CssStyles.style(requestedAdditionalTestsLayout, CssStyles.VSPACE_3);
                    for (AdditionalTestType testType : getValue().getRequestedAdditionalTests()) {
                        Label testLabel = new Label(testType.toString());
                        testLabel.setWidthUndefined();
                        CssStyles.style(testLabel, CssStyles.LABEL_ROUNDED_CORNERS,
                                CssStyles.LABEL_BACKGROUND_FOCUS_LIGHT, CssStyles.VSPACE_4,
                                CssStyles.HSPACE_RIGHT_4);
                        requestedAdditionalTestsLayout.addComponent(testLabel);
                    }
                    getContent().addComponent(requestedAdditionalTestsLayout,
                            REQUESTED_ADDITIONAL_TESTS_READ_LOC);
                }

            }
        }

        requestedTestsInitialized = true;
    });
}