updated valid form events
This commit is contained in:
parent
6db78bb549
commit
ccde169dfb
|
@ -1,5 +1,6 @@
|
||||||
package org.gcube.portlets.user.geoportaldataentry.client;
|
package org.gcube.portlets.user.geoportaldataentry.client;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
@ -40,7 +41,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
|
|
||||||
private final HandlerManager eventBus = new HandlerManager(null);
|
private final HandlerManager eventBus = new HandlerManager(null);
|
||||||
|
|
||||||
private LinkedHashMap<ConcessioniFormCardTitle, GeoNaFormCardModel> mapForms = new LinkedHashMap<ConcessioniFormCardTitle, GeoNaFormCardModel>();
|
private LinkedHashMap<String, GeoNaFormCardModel> mapForms = new LinkedHashMap<String, GeoNaFormCardModel>();
|
||||||
|
|
||||||
//private List<MetaDataProfileBean> orderedListMetadataProfilesForGeona = null;
|
//private List<MetaDataProfileBean> orderedListMetadataProfilesForGeona = null;
|
||||||
|
|
||||||
|
@ -64,8 +65,14 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
for (GeoNaFormCardModel geonaForm : orderedCards) {
|
for (GeoNaFormCardModel geonaForm : orderedCards) {
|
||||||
CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()));
|
CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()));
|
||||||
geonaForm.setMetadataForm(baseForm);
|
geonaForm.setMetadataForm(baseForm);
|
||||||
mapForms.put(geonaForm.getFormCardTitle(), geonaForm);
|
String key = geonaForm.getMetadataProfileBean().getType();
|
||||||
geoNaMainForm.addForm(geonaForm);
|
boolean isFormRepeatible = false;
|
||||||
|
if(geonaForm.getFormCardTitle()!=null) {
|
||||||
|
key = geonaForm.getFormCardTitle().getTitle();
|
||||||
|
isFormRepeatible = geonaForm.getFormCardTitle().isInternalRepeatibleForm();
|
||||||
|
}
|
||||||
|
geoNaMainForm.addForm(geonaForm,isFormRepeatible);
|
||||||
|
mapForms.put(key, geonaForm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,6 +88,8 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
private Collection<GeoNaFormCardModel> setGeoNaFormsOrder(List<MetaDataProfileBean> listMetadataProfilesForGeona) {
|
private Collection<GeoNaFormCardModel> setGeoNaFormsOrder(List<MetaDataProfileBean> listMetadataProfilesForGeona) {
|
||||||
|
|
||||||
TreeMap<Integer, GeoNaFormCardModel> treemapOrderedGeoNaProfiles = new TreeMap<Integer, GeoNaFormCardModel>();
|
TreeMap<Integer, GeoNaFormCardModel> treemapOrderedGeoNaProfiles = new TreeMap<Integer, GeoNaFormCardModel>();
|
||||||
|
|
||||||
|
List<GeoNaFormCardModel> listUnknownType = new ArrayList<GeoNaFormCardModel>();
|
||||||
|
|
||||||
for (MetaDataProfileBean metaDataProfileBean : listMetadataProfilesForGeona) {
|
for (MetaDataProfileBean metaDataProfileBean : listMetadataProfilesForGeona) {
|
||||||
|
|
||||||
|
@ -103,12 +112,18 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
||||||
geonaForm.setFormCardTitle(ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO);
|
geonaForm.setFormCardTitle(ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO);
|
||||||
treemapOrderedGeoNaProfiles.put(ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO.getOrder(), geonaForm);
|
treemapOrderedGeoNaProfiles.put(ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO.getOrder(), geonaForm);
|
||||||
}else {
|
}else {
|
||||||
Integer highestKey = treemapOrderedGeoNaProfiles.lastKey();
|
//adding to unknown list
|
||||||
highestKey = highestKey+1;
|
listUnknownType.add(geonaForm);
|
||||||
treemapOrderedGeoNaProfiles.put(highestKey, geonaForm);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//adding unknown types
|
||||||
|
for (GeoNaFormCardModel geoNaFormCardModel : listUnknownType) {
|
||||||
|
Integer highestKey = treemapOrderedGeoNaProfiles.lastKey();
|
||||||
|
highestKey++;
|
||||||
|
treemapOrderedGeoNaProfiles.put(highestKey, geoNaFormCardModel);
|
||||||
|
}
|
||||||
|
|
||||||
GWT.log("Map size: "+treemapOrderedGeoNaProfiles.size());
|
GWT.log("Map size: "+treemapOrderedGeoNaProfiles.size());
|
||||||
return treemapOrderedGeoNaProfiles.values();
|
return treemapOrderedGeoNaProfiles.values();
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,13 @@ import org.gcube.portlets.user.geoportaldataentry.client.ui.card.GeoNaFormCardMo
|
||||||
import org.gcube.portlets.user.geoportaldataentry.client.ui.card.MetadataFormCard;
|
import org.gcube.portlets.user.geoportaldataentry.client.ui.card.MetadataFormCard;
|
||||||
import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.CreateMetadataForm;
|
import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.CreateMetadataForm;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.TabPane;
|
import com.github.gwtbootstrap.client.ui.Tab;
|
||||||
import com.github.gwtbootstrap.client.ui.TabPanel;
|
import com.github.gwtbootstrap.client.ui.TabPanel;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
|
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.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;
|
||||||
|
@ -24,7 +26,7 @@ public class GeonaDataEntryMainForm extends Composite {
|
||||||
interface GeonaDataEntryMainFormUiBinder extends UiBinder<Widget, GeonaDataEntryMainForm> {
|
interface GeonaDataEntryMainFormUiBinder extends UiBinder<Widget, GeonaDataEntryMainForm> {
|
||||||
}
|
}
|
||||||
|
|
||||||
List<GeoNaFormCardModel> listCards = new ArrayList<GeoNaFormCardModel>();
|
private List<GeoNaFormCardModel> listCards = new ArrayList<GeoNaFormCardModel>();
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
HTMLPanel mainHTMLPanel;
|
HTMLPanel mainHTMLPanel;
|
||||||
|
@ -34,20 +36,20 @@ public class GeonaDataEntryMainForm extends Composite {
|
||||||
|
|
||||||
private LinkedHashMap<String,MetadataFormCard> mapForms = new LinkedHashMap<String,MetadataFormCard>();
|
private LinkedHashMap<String,MetadataFormCard> mapForms = new LinkedHashMap<String,MetadataFormCard>();
|
||||||
|
|
||||||
private List<TabPane> listTabs = new ArrayList<TabPane>();
|
private List<Tab> listTabs = new ArrayList<Tab>();
|
||||||
|
|
||||||
public GeonaDataEntryMainForm() {
|
public GeonaDataEntryMainForm() {
|
||||||
initWidget(uiBinder.createAndBindUi(this));
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addForm(GeoNaFormCardModel geonFormModel){
|
public void addForm(GeoNaFormCardModel geonFormModel, boolean isFormRepeatible){
|
||||||
listCards.add(geonFormModel);
|
listCards.add(geonFormModel);
|
||||||
addForm(geonFormModel.getMetadataForm(), geonFormModel.getMetadataProfileBean().getType(), geonFormModel.getFormCardTitle().isInternalRepeatibleForm());
|
addForm(geonFormModel.getMetadataForm(), geonFormModel.getMetadataProfileBean().getType(), isFormRepeatible);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void addForm(final CreateMetadataForm createMetadataForm, String tabHeading, boolean repeatible){
|
private void addForm(final CreateMetadataForm createMetadataForm, String tabHeading, boolean repeatible){
|
||||||
final TabPane tab = new TabPane();
|
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);
|
||||||
listTabs.add(tab);
|
listTabs.add(tab);
|
||||||
|
@ -72,6 +74,17 @@ public class GeonaDataEntryMainForm extends Composite {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UiHandler("buttonSave")
|
||||||
|
void saveData(ClickEvent e){
|
||||||
|
|
||||||
|
for (String metadataType : mapForms.keySet()) {
|
||||||
|
MetadataFormCard card = mapForms.get(metadataType);
|
||||||
|
boolean isValid = card.validateForm();
|
||||||
|
card.setValidCard(isValid);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the ative after.
|
* Sets the ative after.
|
||||||
|
|
|
@ -8,7 +8,7 @@ public class GeoNaFormCardModel {
|
||||||
|
|
||||||
private MetaDataProfileBean metadataProfileBean;
|
private MetaDataProfileBean metadataProfileBean;
|
||||||
private CreateMetadataForm metadataForm;
|
private CreateMetadataForm metadataForm;
|
||||||
private ConcessioniFormCardTitle formCardTitle;
|
private ConcessioniFormCardTitle formCardTitle; //matching with metadata profile type
|
||||||
|
|
||||||
public GeoNaFormCardModel() {
|
public GeoNaFormCardModel() {
|
||||||
|
|
||||||
|
|
|
@ -8,22 +8,54 @@ import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.GenericFormE
|
||||||
import org.gcube.portlets.widgets.mpformbuilder.shared.GenericDatasetBean;
|
import org.gcube.portlets.widgets.mpformbuilder.shared.GenericDatasetBean;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.Button;
|
import com.github.gwtbootstrap.client.ui.Button;
|
||||||
import com.github.gwtbootstrap.client.ui.TabPane;
|
import com.github.gwtbootstrap.client.ui.Tab;
|
||||||
import com.github.gwtbootstrap.client.ui.constants.IconType;
|
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;
|
||||||
|
|
||||||
public class MetadataFormCard implements GenericFormEventsListener{
|
public class MetadataFormCard {
|
||||||
|
|
||||||
private String heading;
|
private String heading;
|
||||||
private TabPane tab;
|
private Tab tab;
|
||||||
private boolean repeatible;
|
private boolean repeatible;
|
||||||
private List<CreateMetadataForm> listForms = new ArrayList<CreateMetadataForm>();
|
private List<CreateMetadataForm> listForms = new ArrayList<CreateMetadataForm>();
|
||||||
|
|
||||||
public MetadataFormCard(TabPane tab, CreateMetadataForm createMetadataForm, boolean repeatible) {
|
private MetadataFormCardEventHandler formCardEventHandler = new MetadataFormCardEventHandler();
|
||||||
|
|
||||||
|
private class MetadataFormCardEventHandler implements GenericFormEventsListener{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFormDataValid(GenericDatasetBean genericDatasetBean) {
|
||||||
|
setTabStatus();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFormDataEdit() {
|
||||||
|
resetTabStatus();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFormAborted() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onValidationError(Throwable throwable, String errorMsg) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public MetadataFormCard(Tab tab, CreateMetadataForm createMetadataForm, boolean repeatible) {
|
||||||
this.tab = tab;
|
this.tab = tab;
|
||||||
this.repeatible = repeatible;
|
this.repeatible = repeatible;
|
||||||
this.buildCard(createMetadataForm);
|
this.buildCard(createMetadataForm);
|
||||||
|
createMetadataForm.addListener(formCardEventHandler);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buildCard(final CreateMetadataForm createMetadataForm) {
|
private void buildCard(final CreateMetadataForm createMetadataForm) {
|
||||||
|
@ -46,7 +78,6 @@ public class MetadataFormCard implements GenericFormEventsListener{
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addNewForm(final CreateMetadataForm newForm) {
|
private void addNewForm(final CreateMetadataForm newForm) {
|
||||||
newForm.addListener(this);
|
|
||||||
tab.add(newForm);
|
tab.add(newForm);
|
||||||
listForms.add(newForm);
|
listForms.add(newForm);
|
||||||
|
|
||||||
|
@ -72,24 +103,6 @@ public class MetadataFormCard implements GenericFormEventsListener{
|
||||||
return listForms;
|
return listForms;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFormDataValid(GenericDatasetBean genericDatasetBean) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAbortedForm() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onValidationError(Throwable throwable, String errorMsg) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getHeading() {
|
public String getHeading() {
|
||||||
return heading;
|
return heading;
|
||||||
}
|
}
|
||||||
|
@ -108,4 +121,23 @@ public class MetadataFormCard implements GenericFormEventsListener{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setValidCard(boolean bool) {
|
||||||
|
if(bool)
|
||||||
|
tab.setIcon(IconType.OK_SIGN);
|
||||||
|
else
|
||||||
|
tab.setIcon(IconType.REMOVE_SIGN);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setTabStatus() {
|
||||||
|
boolean isValid = validateForm();
|
||||||
|
if(isValid)
|
||||||
|
tab.setIcon(IconType.OK_SIGN);
|
||||||
|
else
|
||||||
|
tab.setIcon(IconType.REMOVE_SIGN);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetTabStatus() {
|
||||||
|
tab.setIcon(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue