Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit b5294d0

Browse files
1 parent d104bfb commit b5294d0

2 files changed

Lines changed: 25 additions & 10 deletions

File tree

sormas-ui/src/main/java/de/symeda/sormas/ui/campaign/campaigndata/CampaignDataView.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,7 @@ public class CampaignDataView extends AbstractCampaignView {
7070
private final CampaignFormDataCriteria criteria;
7171
private final CampaignDataGrid grid;
7272
private CampaignFormDataFilterForm filterForm;
73-
private Button importCampaignButton;
74-
private ComboBox campaignCombo;
73+
private final ComboBox<CampaignReferenceDto> campaignCombo;
7574
protected OptionGroup campaignFormElementImportance;
7675

7776
public static final String ONLY_IMPORTANT_FORM_ELEMENTS = "onlyImportantFormElements";
@@ -82,14 +81,14 @@ public CampaignDataView() {
8281

8382
criteria = ViewModelProviders.of(getClass()).get(CampaignFormDataCriteria.class);
8483

85-
campaignCombo = new ComboBox(" ");
84+
campaignCombo = new ComboBox<>(" ");
8685
List<CampaignReferenceDto> campaigns = FacadeProvider.getCampaignFacade().getAllActiveCampaignsAsReference();
8786
campaignCombo.setItems(campaigns);
8887
final CampaignReferenceDto lastStartedCampaign = FacadeProvider.getCampaignFacade().getLastStartedCampaign();
8988
if (lastStartedCampaign != null) {
9089
campaignCombo.setValue(lastStartedCampaign);
9190
}
92-
criteria.setCampaign((CampaignReferenceDto) campaignCombo.getValue());
91+
criteria.setCampaign(campaignCombo.getValue());
9392
CssStyles.style(campaignCombo, CssStyles.SOFT_REQUIRED);
9493
addHeaderComponent(campaignCombo);
9594
grid = new CampaignDataGrid(criteria);
@@ -154,13 +153,14 @@ public CampaignDataView() {
154153
}
155154

156155
VerticalLayout newFormLayout = new VerticalLayout();
156+
PopupButton newFormButton;
157157
{
158158
newFormLayout.setSpacing(true);
159159
newFormLayout.setMargin(true);
160160
newFormLayout.addStyleName(CssStyles.LAYOUT_MINIMAL);
161161
newFormLayout.setWidth(350, Unit.PIXELS);
162162

163-
PopupButton newFormButton = ButtonHelper.createIconPopupButton(Captions.actionNewForm, VaadinIcons.PLUS_CIRCLE, newFormLayout);
163+
newFormButton = ButtonHelper.createIconPopupButton(Captions.actionNewForm, VaadinIcons.PLUS_CIRCLE, newFormLayout);
164164
newFormButton.setId("new-form");
165165

166166
createNewFormLayout(newFormLayout);
@@ -174,7 +174,7 @@ public CampaignDataView() {
174174
importFormLayout.addStyleName(CssStyles.LAYOUT_MINIMAL);
175175
importFormLayout.setWidth(350, Unit.PIXELS);
176176

177-
importCampaignButton = ButtonHelper.createIconPopupButton(Captions.actionImport, VaadinIcons.PLUS_CIRCLE, importFormLayout);
177+
Button importCampaignButton = ButtonHelper.createIconPopupButton(Captions.actionImport, VaadinIcons.PLUS_CIRCLE, importFormLayout);
178178
importCampaignButton.setId("campaign-form-import");
179179
createImportLayout(importFormLayout);
180180
addHeaderComponent(importCampaignButton);
@@ -184,14 +184,21 @@ public CampaignDataView() {
184184
if (!Objects.isNull(campaignCombo.getValue())) {
185185
createImportLayout(importFormLayout);
186186
createNewFormLayout(newFormLayout);
187+
importCampaignButton.setEnabled(true);
188+
newFormButton.setEnabled(true);
189+
} else {
190+
importCampaignButton.setEnabled(false);
191+
newFormButton.setEnabled(false);
187192
}
193+
criteria.setCampaignFormMeta(null);
194+
filterForm.setValue(criteria);
188195
});
189196
addComponent(mainLayout);
190197
}
191198

192199
private void createImportLayout(VerticalLayout importFormLayout) {
193200
for (CampaignFormMetaReferenceDto campaignForm : FacadeProvider.getCampaignFormMetaFacade()
194-
.getCampaignFormMetasAsReferencesByCampaign(((CampaignReferenceDto) campaignCombo.getValue()).getUuid())) {
201+
.getCampaignFormMetasAsReferencesByCampaign(campaignCombo.getValue().getUuid())) {
195202

196203
Button campaignFormButton = ButtonHelper.createButton(campaignForm.toString(), e -> {
197204
Window popupWindow = null;
@@ -210,7 +217,7 @@ private void createImportLayout(VerticalLayout importFormLayout) {
210217

211218
private void createNewFormLayout(VerticalLayout newFormLayout) {
212219
for (CampaignFormMetaReferenceDto campaignForm : FacadeProvider.getCampaignFormMetaFacade()
213-
.getCampaignFormMetasAsReferencesByCampaign(((CampaignReferenceDto) campaignCombo.getValue()).getUuid())) {
220+
.getCampaignFormMetasAsReferencesByCampaign(campaignCombo.getValue().getUuid())) {
214221
Button campaignFormButton = ButtonHelper
215222
.createButton(campaignForm.toString(), e -> ControllerProvider.getCampaignController().createCampaignDataForm(campaignForm));
216223
campaignFormButton.setWidth(100, Unit.PERCENTAGE);
@@ -246,11 +253,11 @@ public CampaignFormDataFilterForm createFilterBar() {
246253
navigateTo(null, true);
247254
});
248255
filterForm.addApplyHandler(e -> {
249-
criteria.setCampaign((CampaignReferenceDto) campaignCombo.getValue());
256+
criteria.setCampaign(campaignCombo.getValue());
250257
grid.reload();
251258
});
252259
campaignCombo.addValueChangeListener(e -> {
253-
criteria.setCampaign((CampaignReferenceDto) campaignCombo.getValue());
260+
criteria.setCampaign(campaignCombo.getValue());
254261
grid.reload();
255262
});
256263
filterForm.setFormMetaChangedCallback(createFormMetaChangedCallback());

sormas-ui/src/main/java/de/symeda/sormas/ui/campaign/campaigndata/CampaignFormDataFilterForm.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,14 @@ protected void applyDependenciesOnNewValue(CampaignFormDataCriteria criteria) {
165165
cbCommunity.addItems(FacadeProvider.getCommunityFacade().getAllActiveByDistrict(district.getUuid()));
166166
}
167167
}
168+
169+
cbCampaignForm.removeAllItems();
170+
if (criteria.getCampaign() != null) {
171+
cbCampaignForm
172+
.addItems(FacadeProvider.getCampaignFormMetaFacade().getCampaignFormMetasAsReferencesByCampaign(criteria.getCampaign().getUuid()));
173+
} else {
174+
cbCampaignForm.addItems(FacadeProvider.getCampaignFormMetaFacade().getAllCampaignFormMetasAsReferences());
175+
}
168176
}
169177

170178
public void setFormMetaChangedCallback(Consumer<CampaignFormMetaReferenceDto> formMetaChangedCallback) {

0 commit comments

Comments
 (0)