task_20210 #1
|
@ -30,6 +30,7 @@ import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.user.client.Window;
|
import com.google.gwt.user.client.Window;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
|
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||||
import com.google.gwt.user.client.ui.RootPanel;
|
import com.google.gwt.user.client.ui.RootPanel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -64,7 +65,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
|
|
||||||
private LinkedHashMap<Long, List<GeoNaFormDataObject>> savedMap = new LinkedHashMap<Long, List<GeoNaFormDataObject>>();
|
private LinkedHashMap<Long, List<GeoNaFormDataObject>> savedMap = new LinkedHashMap<Long, List<GeoNaFormDataObject>>();
|
||||||
|
|
||||||
//private List<MetaDataProfileBean> orderedListMetadataProfilesForGeona = null;
|
private boolean projectSavedWithSuccess;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the entry point method.
|
* This is the entry point method.
|
||||||
|
@ -119,6 +120,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buildNewCards(Collection<GeoNaFormCardModel> orderedCards) {
|
private void buildNewCards(Collection<GeoNaFormCardModel> orderedCards) {
|
||||||
|
projectSavedWithSuccess = false; //resetting state of saving
|
||||||
mainPanel.setLoaderVisible("Loading...", true);
|
mainPanel.setLoaderVisible("Loading...", true);
|
||||||
resetUI();
|
resetUI();
|
||||||
//ordered values
|
//ordered values
|
||||||
|
@ -204,14 +206,20 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
|
|
||||||
final Modal modal = new Modal(true);
|
final Modal modal = new Modal(true);
|
||||||
modal.setCloseVisible(false);
|
modal.setCloseVisible(false);
|
||||||
|
modal.setTitle("Saving project...");
|
||||||
|
modal.hide(false);
|
||||||
|
final HorizontalPanel modalContainerPanel = new HorizontalPanel();
|
||||||
final LoaderIcon loader = new LoaderIcon();
|
final LoaderIcon loader = new LoaderIcon();
|
||||||
loader.setText("Trying to save the data, please wait...");
|
loader.setText("Trying to save the data, please wait...");
|
||||||
modal.add(loader);
|
modalContainerPanel.add(loader);
|
||||||
|
modal.add(modalContainerPanel);
|
||||||
|
|
||||||
GeoportalDataEntryServiceAsync.Util.getInstance().saveGeonaDataForms(saveGeonaDataFormsEvent.getListGeonaDataForms(), new AsyncCallback<CommitReport>() {
|
GeoportalDataEntryServiceAsync.Util.getInstance().saveGeonaDataForms(saveGeonaDataFormsEvent.getListGeonaDataForms(), new AsyncCallback<CommitReport>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
modalContainerPanel.clear();
|
||||||
|
modal.setCloseVisible(true);
|
||||||
try {
|
try {
|
||||||
modal.remove(loader);
|
modal.remove(loader);
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
|
@ -220,7 +228,6 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
alert.setType(AlertType.ERROR);
|
alert.setType(AlertType.ERROR);
|
||||||
alert.setClose(false);
|
alert.setClose(false);
|
||||||
modal.add(alert);
|
modal.add(alert);
|
||||||
modal.setCloseVisible(true);
|
|
||||||
//resetUI();
|
//resetUI();
|
||||||
geoNaMainForm.enableButtonSave(true);
|
geoNaMainForm.enableButtonSave(true);
|
||||||
}
|
}
|
||||||
|
@ -235,6 +242,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
switch (result.getState()) {
|
switch (result.getState()) {
|
||||||
case OK:
|
case OK:
|
||||||
alert.setType(AlertType.SUCCESS);
|
alert.setType(AlertType.SUCCESS);
|
||||||
|
projectSavedWithSuccess = true;
|
||||||
purgeFileUploaded();
|
purgeFileUploaded();
|
||||||
break;
|
break;
|
||||||
case WARN:
|
case WARN:
|
||||||
|
@ -250,7 +258,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
}
|
}
|
||||||
alert.setClose(false);
|
alert.setClose(false);
|
||||||
modal.add(alert);
|
modal.add(alert);
|
||||||
modal.setCloseVisible(true);
|
|
||||||
try {
|
try {
|
||||||
savedMap.put(result.getRecordId(), saveGeonaDataFormsEvent.getListGeonaDataForms());
|
savedMap.put(result.getRecordId(), saveGeonaDataFormsEvent.getListGeonaDataForms());
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
|
@ -274,17 +282,22 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
@Override
|
@Override
|
||||||
public void onCreateNewProject(CreateNewProjectEvent newProjectEvent) {
|
public void onCreateNewProject(CreateNewProjectEvent newProjectEvent) {
|
||||||
|
|
||||||
//means the form was not submitted
|
// means the form was not submitted
|
||||||
if(savedMap.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?");
|
boolean confirm = Window.confirm(
|
||||||
if(confirm)
|
"Creating a new project, the current project (is not saved) and will be lost, Confirm?");
|
||||||
|
if (confirm)
|
||||||
buildNewCards(orderedCards);
|
buildNewCards(orderedCards);
|
||||||
}else {
|
} else if (projectSavedWithSuccess) {
|
||||||
|
//means the project has been saved
|
||||||
|
buildNewCards(orderedCards);
|
||||||
|
} else {
|
||||||
|
//means the project reported one ore more errors after the submit
|
||||||
boolean confirm = Window.confirm("Creating a new project, the web-forms will be cleaned, Confirm?");
|
boolean confirm = Window.confirm("Creating a new project, the web-forms will be cleaned, Confirm?");
|
||||||
if(confirm)
|
if (confirm)
|
||||||
buildNewCards(orderedCards);
|
buildNewCards(orderedCards);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue