List of usage examples for com.vaadin.v7.ui OptionGroup removeItem
@Override
public boolean removeItem(Object itemId) throws UnsupportedOperationException
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 . j a v a 2s.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 -> {/* w w w.j a v a 2 s . com*/ 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; }); }