added submit
This commit is contained in:
parent
ccde169dfb
commit
0681dd6b2c
|
@ -66,12 +66,10 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()));
|
CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()));
|
||||||
geonaForm.setMetadataForm(baseForm);
|
geonaForm.setMetadataForm(baseForm);
|
||||||
String key = geonaForm.getMetadataProfileBean().getType();
|
String key = geonaForm.getMetadataProfileBean().getType();
|
||||||
boolean isFormRepeatible = false;
|
|
||||||
if(geonaForm.getFormCardTitle()!=null) {
|
if(geonaForm.getFormCardTitle()!=null) {
|
||||||
key = geonaForm.getFormCardTitle().getTitle();
|
key = geonaForm.getFormCardTitle().getTitle();
|
||||||
isFormRepeatible = geonaForm.getFormCardTitle().isInternalRepeatibleForm();
|
|
||||||
}
|
}
|
||||||
geoNaMainForm.addForm(geonaForm,isFormRepeatible);
|
geoNaMainForm.addForm(key, geonaForm);
|
||||||
mapForms.put(key, geonaForm);
|
mapForms.put(key, geonaForm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,9 @@ import java.util.List;
|
||||||
|
|
||||||
import org.gcube.portlets.user.geoportaldataentry.client.ui.card.GeoNaFormCardModel;
|
import org.gcube.portlets.user.geoportaldataentry.client.ui.card.GeoNaFormCardModel;
|
||||||
import org.gcube.portlets.user.geoportaldataentry.client.ui.card.MetadataFormCard;
|
import org.gcube.portlets.user.geoportaldataentry.client.ui.card.MetadataFormCard;
|
||||||
|
import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject;
|
||||||
import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.CreateMetadataForm;
|
import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.CreateMetadataForm;
|
||||||
|
import org.gcube.portlets.widgets.mpformbuilder.shared.GenericDatasetBean;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.Tab;
|
import com.github.gwtbootstrap.client.ui.Tab;
|
||||||
import com.github.gwtbootstrap.client.ui.TabPanel;
|
import com.github.gwtbootstrap.client.ui.TabPanel;
|
||||||
|
@ -15,6 +17,7 @@ import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.uibinder.client.UiBinder;
|
import com.google.gwt.uibinder.client.UiBinder;
|
||||||
import com.google.gwt.uibinder.client.UiField;
|
import com.google.gwt.uibinder.client.UiField;
|
||||||
import com.google.gwt.uibinder.client.UiHandler;
|
import com.google.gwt.uibinder.client.UiHandler;
|
||||||
|
import com.google.gwt.user.client.Window;
|
||||||
import com.google.gwt.user.client.ui.Composite;
|
import com.google.gwt.user.client.ui.Composite;
|
||||||
import com.google.gwt.user.client.ui.HTMLPanel;
|
import com.google.gwt.user.client.ui.HTMLPanel;
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
import com.google.gwt.user.client.ui.Widget;
|
||||||
|
@ -42,16 +45,17 @@ public class GeonaDataEntryMainForm extends Composite {
|
||||||
initWidget(uiBinder.createAndBindUi(this));
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addForm(GeoNaFormCardModel geonFormModel, boolean isFormRepeatible){
|
public void addForm(String tabHeading, GeoNaFormCardModel geonFormModel){
|
||||||
listCards.add(geonFormModel);
|
listCards.add(geonFormModel);
|
||||||
addForm(geonFormModel.getMetadataForm(), geonFormModel.getMetadataProfileBean().getType(), isFormRepeatible);
|
createNewCard(tabHeading, geonFormModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void addForm(final CreateMetadataForm createMetadataForm, String tabHeading, boolean repeatible){
|
private void createNewCard(String tabHeading, final GeoNaFormCardModel geonFormModel){
|
||||||
final Tab tab = new Tab();
|
final Tab tab = new Tab();
|
||||||
tab.setHeading(tabHeading);
|
tab.setHeading(tabHeading);
|
||||||
MetadataFormCard mfc = new MetadataFormCard(tab, createMetadataForm, repeatible);
|
//MetadataFormCard mfc = new MetadataFormCard(tab, createMetadataForm, repeatible);
|
||||||
|
MetadataFormCard mfc = new MetadataFormCard(tab,geonFormModel);
|
||||||
listTabs.add(tab);
|
listTabs.add(tab);
|
||||||
mainTabPanel.add(tab);
|
mainTabPanel.add(tab);
|
||||||
|
|
||||||
|
@ -77,12 +81,32 @@ public class GeonaDataEntryMainForm extends Composite {
|
||||||
@UiHandler("buttonSave")
|
@UiHandler("buttonSave")
|
||||||
void saveData(ClickEvent e){
|
void saveData(ClickEvent e){
|
||||||
|
|
||||||
|
boolean canSave = true;
|
||||||
|
|
||||||
for (String metadataType : mapForms.keySet()) {
|
for (String metadataType : mapForms.keySet()) {
|
||||||
MetadataFormCard card = mapForms.get(metadataType);
|
MetadataFormCard card = mapForms.get(metadataType);
|
||||||
boolean isValid = card.validateForm();
|
boolean isValid = card.validateForm();
|
||||||
card.setValidCard(isValid);
|
card.setValidCard(isValid);
|
||||||
|
if(isValid==false)
|
||||||
|
canSave = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<GeoNaFormDataObject> listGoneFormObjects = new ArrayList<GeoNaFormDataObject>();
|
||||||
|
|
||||||
|
if(canSave) {
|
||||||
|
for (String metadataType : mapForms.keySet()) {
|
||||||
|
MetadataFormCard card = mapForms.get(metadataType);
|
||||||
|
List<GenericDatasetBean> listGDB = new ArrayList<GenericDatasetBean>(card.getListForms().size());
|
||||||
|
for (CreateMetadataForm form : card.getListForms()) {
|
||||||
|
listGDB.add(form.getFormDataBean());
|
||||||
|
|
||||||
|
}
|
||||||
|
listGoneFormObjects.add(new GeoNaFormDataObject(listGDB, card.getGeonaFormModel().getFormCardTitle()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Window.alert("I cane save: "+listGoneFormObjects);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,35 +13,78 @@ import com.github.gwtbootstrap.client.ui.constants.IconType;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class MetadataFormCard.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
*
|
||||||
|
* Oct 12, 2020
|
||||||
|
*/
|
||||||
public class MetadataFormCard {
|
public class MetadataFormCard {
|
||||||
|
|
||||||
|
/** The heading. */
|
||||||
private String heading;
|
private String heading;
|
||||||
|
|
||||||
|
/** The tab. */
|
||||||
private Tab tab;
|
private Tab tab;
|
||||||
|
|
||||||
|
/** The repeatible. */
|
||||||
private boolean repeatible;
|
private boolean repeatible;
|
||||||
|
|
||||||
|
/** The list forms. */
|
||||||
private List<CreateMetadataForm> listForms = new ArrayList<CreateMetadataForm>();
|
private List<CreateMetadataForm> listForms = new ArrayList<CreateMetadataForm>();
|
||||||
|
|
||||||
|
/** The form card event handler. */
|
||||||
private MetadataFormCardEventHandler formCardEventHandler = new MetadataFormCardEventHandler();
|
private MetadataFormCardEventHandler formCardEventHandler = new MetadataFormCardEventHandler();
|
||||||
|
|
||||||
|
/** The geona form model. */
|
||||||
|
private GeoNaFormCardModel geonaFormModel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class MetadataFormCardEventHandler.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
*
|
||||||
|
* Oct 12, 2020
|
||||||
|
*/
|
||||||
private class MetadataFormCardEventHandler implements GenericFormEventsListener{
|
private class MetadataFormCardEventHandler implements GenericFormEventsListener{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* On form data valid.
|
||||||
|
*
|
||||||
|
* @param genericDatasetBean the generic dataset bean
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onFormDataValid(GenericDatasetBean genericDatasetBean) {
|
public void onFormDataValid(GenericDatasetBean genericDatasetBean) {
|
||||||
setTabStatus();
|
setTabStatus();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* On form data edit.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onFormDataEdit() {
|
public void onFormDataEdit() {
|
||||||
resetTabStatus();
|
resetTabStatus();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* On form aborted.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onFormAborted() {
|
public void onFormAborted() {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* On validation error.
|
||||||
|
*
|
||||||
|
* @param throwable the throwable
|
||||||
|
* @param errorMsg the error msg
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onValidationError(Throwable throwable, String errorMsg) {
|
public void onValidationError(Throwable throwable, String errorMsg) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
@ -50,14 +93,25 @@ public class MetadataFormCard {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public MetadataFormCard(Tab tab, CreateMetadataForm createMetadataForm, boolean repeatible) {
|
/**
|
||||||
|
* Instantiates a new metadata form card.
|
||||||
|
*
|
||||||
|
* @param tab the tab
|
||||||
|
* @param geonaFormModel the geona form model
|
||||||
|
*/
|
||||||
|
public MetadataFormCard(Tab tab, GeoNaFormCardModel geonaFormModel) {
|
||||||
this.tab = tab;
|
this.tab = tab;
|
||||||
this.repeatible = repeatible;
|
this.geonaFormModel = geonaFormModel;
|
||||||
this.buildCard(createMetadataForm);
|
this.repeatible = geonaFormModel.getFormCardTitle().isInternalRepeatibleForm();
|
||||||
createMetadataForm.addListener(formCardEventHandler);
|
this.buildCard(geonaFormModel.getMetadataForm());
|
||||||
|
geonaFormModel.getMetadataForm().addListener(formCardEventHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds the card.
|
||||||
|
*
|
||||||
|
* @param createMetadataForm the create metadata form
|
||||||
|
*/
|
||||||
private void buildCard(final CreateMetadataForm createMetadataForm) {
|
private void buildCard(final CreateMetadataForm createMetadataForm) {
|
||||||
|
|
||||||
if(repeatible) {
|
if(repeatible) {
|
||||||
|
@ -70,6 +124,7 @@ public class MetadataFormCard {
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
CreateMetadataForm newForm = new CreateMetadataForm(createMetadataForm.getMetadataProfiles());
|
CreateMetadataForm newForm = new CreateMetadataForm(createMetadataForm.getMetadataProfiles());
|
||||||
addNewForm(newForm);
|
addNewForm(newForm);
|
||||||
|
//newForm.getCreateButton().setFocus(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -77,6 +132,11 @@ public class MetadataFormCard {
|
||||||
addNewForm(createMetadataForm);
|
addNewForm(createMetadataForm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the new form.
|
||||||
|
*
|
||||||
|
* @param newForm the new form
|
||||||
|
*/
|
||||||
private void addNewForm(final CreateMetadataForm newForm) {
|
private void addNewForm(final CreateMetadataForm newForm) {
|
||||||
tab.add(newForm);
|
tab.add(newForm);
|
||||||
listForms.add(newForm);
|
listForms.add(newForm);
|
||||||
|
@ -99,10 +159,20 @@ public class MetadataFormCard {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the list forms.
|
||||||
|
*
|
||||||
|
* @return the list forms
|
||||||
|
*/
|
||||||
public List<CreateMetadataForm> getListForms() {
|
public List<CreateMetadataForm> getListForms() {
|
||||||
return listForms;
|
return listForms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the heading.
|
||||||
|
*
|
||||||
|
* @return the heading
|
||||||
|
*/
|
||||||
public String getHeading() {
|
public String getHeading() {
|
||||||
return heading;
|
return heading;
|
||||||
}
|
}
|
||||||
|
@ -121,6 +191,11 @@ public class MetadataFormCard {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the valid card.
|
||||||
|
*
|
||||||
|
* @param bool the new valid card
|
||||||
|
*/
|
||||||
public void setValidCard(boolean bool) {
|
public void setValidCard(boolean bool) {
|
||||||
if(bool)
|
if(bool)
|
||||||
tab.setIcon(IconType.OK_SIGN);
|
tab.setIcon(IconType.OK_SIGN);
|
||||||
|
@ -129,15 +204,25 @@ public class MetadataFormCard {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the tab status.
|
||||||
|
*/
|
||||||
private void setTabStatus() {
|
private void setTabStatus() {
|
||||||
boolean isValid = validateForm();
|
boolean isValid = validateForm();
|
||||||
if(isValid)
|
if(isValid)
|
||||||
tab.setIcon(IconType.OK_SIGN);
|
tab.setIcon(IconType.OK_SIGN);
|
||||||
else
|
else
|
||||||
tab.setIcon(IconType.REMOVE_SIGN);
|
tab.setIcon(IconType.MINUS_SIGN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset tab status.
|
||||||
|
*/
|
||||||
private void resetTabStatus() {
|
private void resetTabStatus() {
|
||||||
tab.setIcon(null);
|
tab.setIcon(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GeoNaFormCardModel getGeonaFormModel() {
|
||||||
|
return geonaFormModel;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
package org.gcube.portlets.user.geoportaldataentry.shared;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.geoportaldataentry.client.ConcessioniFormCardTitle;
|
||||||
|
import org.gcube.portlets.widgets.mpformbuilder.shared.GenericDatasetBean;
|
||||||
|
|
||||||
|
public class GeoNaFormDataObject implements Serializable{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 3620244260086172039L;
|
||||||
|
|
||||||
|
private List<GenericDatasetBean> listGDB;
|
||||||
|
private ConcessioniFormCardTitle theType;
|
||||||
|
|
||||||
|
public GeoNaFormDataObject(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public GeoNaFormDataObject(List<GenericDatasetBean> listGDB, ConcessioniFormCardTitle theType) {
|
||||||
|
super();
|
||||||
|
this.listGDB = listGDB;
|
||||||
|
this.theType = theType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<GenericDatasetBean> getListGDB() {
|
||||||
|
return listGDB;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListGDB(List<GenericDatasetBean> listGDB) {
|
||||||
|
this.listGDB = listGDB;
|
||||||
|
}
|
||||||
|
public ConcessioniFormCardTitle getTheType() {
|
||||||
|
return theType;
|
||||||
|
}
|
||||||
|
public void setTheType(ConcessioniFormCardTitle theType) {
|
||||||
|
this.theType = theType;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "GeoNaFormDataObject [listGDB=" + listGDB + ", theType=" + theType + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue