diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index d895209..4ec8b3e 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -77,6 +77,9 @@ + + uses + diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java index ac96ec6..9b4df6c 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java @@ -16,6 +16,7 @@ import org.gcube.portlets.user.geoportaldataentry.client.ui.GeonaMainPanel; import org.gcube.portlets.user.geoportaldataentry.client.ui.card.GeoNaFormCardModel; import org.gcube.portlets.user.geoportaldataentry.client.ui.utils.LoaderIcon; import org.gcube.portlets.user.geoportaldataentry.shared.CommitReport; +import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject; import org.gcube.portlets.user.geoportaldataentry.shared.GeonaISConfig; import org.gcube.portlets.widgets.mpformbuilder.client.MetadataProfileFormBuilderServiceAsync; import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.CreateMetadataForm; @@ -61,6 +62,8 @@ public class GeoPortalDataEntryApp implements EntryPoint { private GeonaMainPanel mainPanel; + private LinkedHashMap> savedMap = new LinkedHashMap>(); + //private List orderedListMetadataProfilesForGeona = null; /** @@ -193,7 +196,7 @@ public class GeoPortalDataEntryApp implements EntryPoint { appManagerBus.addHandler(SaveGeonaDataFormsEvent.TYPE, new SaveGeonaDataFormsHandler() { @Override - public void onSave(SaveGeonaDataFormsEvent saveGeonaDataFormsEvent) { + public void onSave(final SaveGeonaDataFormsEvent saveGeonaDataFormsEvent) { geoNaMainForm.enableButtonSave(false); @@ -236,11 +239,11 @@ public class GeoPortalDataEntryApp implements EntryPoint { break; case WARN: alert.setType(AlertType.WARNING); - geoNaMainForm.enableButtonSave(true); + //geoNaMainForm.enableButtonSave(true); break; case ERROR: alert.setType(AlertType.ERROR); - geoNaMainForm.enableButtonSave(true); + //geoNaMainForm.enableButtonSave(true); break; default: break; @@ -248,6 +251,12 @@ public class GeoPortalDataEntryApp implements EntryPoint { alert.setClose(false); modal.add(alert); modal.setCloseVisible(true); + try { + savedMap.put(result.getRecordId(), saveGeonaDataFormsEvent.getListGeonaDataForms()); + }catch (Exception e) { + // TODO: handle exception + } + geoNaMainForm.enableButtonSave(true); //resetUI(); } @@ -266,12 +275,15 @@ public class GeoPortalDataEntryApp implements EntryPoint { public void onCreateNewProject(CreateNewProjectEvent newProjectEvent) { //means the form was not submitted - if(mapForms.size()>0) { + if(savedMap.size()>0) { boolean confirm = Window.confirm("Creating a new project, the current project (is not saved) and will be lost, Confirm?"); if(confirm) buildNewCards(orderedCards); - }else - buildNewCards(orderedCards); + }else { + boolean confirm = Window.confirm("Creating a new project, the web-forms will be cleaned, Confirm?"); + if(confirm) + buildNewCards(orderedCards); + } } });