@@ -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 ());
0 commit comments