Minor Update

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-table-widget@95702 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-05-14 18:37:52 +00:00 committed by Giancarlo Panichi
parent 2b466883b7
commit 4f8532d9e1
1 changed files with 67 additions and 50 deletions

View File

@ -22,6 +22,7 @@ import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.web.bindery.event.shared.EventBus;
@ -41,8 +42,8 @@ import com.sencha.gxt.widget.core.client.container.SimpleContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.TriggerClickEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
import com.sencha.gxt.widget.core.client.event.TriggerClickEvent;
import com.sencha.gxt.widget.core.client.event.TriggerClickEvent.TriggerClickHandler;
import com.sencha.gxt.widget.core.client.form.ComboBox;
import com.sencha.gxt.widget.core.client.form.DateField;
@ -59,8 +60,8 @@ public class EditRowPanel extends FramedPanel {
protected String WIDTH = "560px";
protected String HEIGHT = "400px";
protected String FIELDSHEIGHT = "400px";
protected int LABELSIZE=140;
protected int LABELSIZE = 140;
protected EditRowDialog parent;
protected TRId trId;
protected EventBus eventBus;
@ -69,9 +70,9 @@ public class EditRowPanel extends FramedPanel {
private TextButton btnSave;
private TextButton btnClose;
private DateTimeFormat sdf= DateTimeFormat.getFormat("yyyy-MM-dd");
private DateTimeFormat sdf = DateTimeFormat.getFormat("yyyy-MM-dd");
public EditRowPanel(EditRowDialog parent, TRId trId, RowRaw row,
EventBus eventBus) {
super();
@ -143,12 +144,13 @@ public class EditRowPanel extends FramedPanel {
}
container.forceLayout();
VerticalLayoutContainer vPanel = new VerticalLayoutContainer();
vPanel.add(container, new VerticalLayoutData(1, -1));
vPanel.add(flowButton, new VerticalLayoutData(1, -1, new Margins(1)));
add(vPanel);
}
protected void retrieveColumn() {
@ -183,13 +185,22 @@ public class EditRowPanel extends FramedPanel {
ArrayList<FieldLabel> fields = new ArrayList<FieldLabel>();
for (ColumnData col : columns) {
String label = new String();
if (col != null && col.getLabel() != null) {
label = SafeHtmlUtils.htmlEscape(col.getLabel());
if (label.length() > LABELSIZE - 1) {
label = label.substring(0, LABELSIZE - 3);
label += "..";
}
}
if (!col.isViewColumn()) {
if (col.getTypeCode().compareTo(
ColumnTypeCode.DIMENSION.toString()) == 0
|| col.getTypeCode().compareTo(
ColumnTypeCode.TIMEDIMENSION.toString()) == 0) {
FieldLabel dimensionLabel = retrieveDimensionLabel(col);
FieldLabel dimensionLabel = retrieveDimensionLabel(col,
label);
dimensionLabel.setLabelWidth(LABELSIZE);
fields.add(dimensionLabel);
} else {
@ -199,9 +210,9 @@ public class EditRowPanel extends FramedPanel {
radioTrue.setBoxLabel("true");
Radio radioFalse = new Radio();
radioFalse.setBoxLabel("false");
String value=rowRaw.getMap().get(col.getColumnId());
if(new Boolean(value)){
String value = rowRaw.getMap().get(col.getColumnId());
if (new Boolean(value)) {
radioTrue.setValue(true);
} else {
radioFalse.setValue(true);
@ -209,13 +220,11 @@ public class EditRowPanel extends FramedPanel {
ToggleGroup toggleGroup = new ToggleGroup();
toggleGroup.add(radioTrue);
toggleGroup.add(radioFalse);
HorizontalPanel hp = new HorizontalPanel();
hp.add(radioTrue);
hp.add(radioFalse);
FieldLabel booleanLabel = new FieldLabel(hp,
col.getLabel());
FieldLabel booleanLabel = new FieldLabel(hp, label);
booleanLabel.setLabelWidth(LABELSIZE);
booleanLabel.setId(col.getColumnId());
fields.add(booleanLabel);
@ -223,18 +232,19 @@ public class EditRowPanel extends FramedPanel {
if (col.getDataTypeName().compareTo(
ColumnDataType.Date.toString()) == 0) {
DateField date = new DateField();
String value=rowRaw.getMap().get(col.getColumnId());
Date d=null;
try{
d=sdf.parse(value);
} catch(Throwable e){
Log.error("Error parsing date string: "+e.getLocalizedMessage());
String value = rowRaw.getMap().get(
col.getColumnId());
Date d = null;
try {
d = sdf.parse(value);
} catch (Throwable e) {
Log.error("Error parsing date string: "
+ e.getLocalizedMessage());
}
if(d!=null){
if (d != null) {
date.setValue(d);
}
FieldLabel dateLabel = new FieldLabel(date,
col.getLabel());
FieldLabel dateLabel = new FieldLabel(date, label);
dateLabel.setLabelWidth(LABELSIZE);
dateLabel.setId(col.getColumnId());
fields.add(dateLabel);
@ -242,7 +252,8 @@ public class EditRowPanel extends FramedPanel {
if (col.getDataTypeName().compareTo(
ColumnDataType.Text.toString()) == 0) {
TextField text = new TextField();
String value=rowRaw.getMap().get(col.getColumnId());
String value = rowRaw.getMap().get(
col.getColumnId());
text.setValue(value);
text.addValueChangeHandler(new ValueChangeHandler<String>() {
@Override
@ -251,8 +262,9 @@ public class EditRowPanel extends FramedPanel {
}
});
FieldLabel textLabel = new FieldLabel(text,
col.getLabel());
label);
textLabel.setLabelWidth(LABELSIZE);
textLabel.setId(col.getColumnId());
fields.add(textLabel);
@ -260,7 +272,8 @@ public class EditRowPanel extends FramedPanel {
if (col.getDataTypeName().compareTo(
ColumnDataType.Geometry.toString()) == 0) {
TextField geometry = new TextField();
String value=rowRaw.getMap().get(col.getColumnId());
String value = rowRaw.getMap().get(
col.getColumnId());
geometry.setValue(value);
geometry.addValueChangeHandler(new ValueChangeHandler<String>() {
@Override
@ -269,8 +282,9 @@ public class EditRowPanel extends FramedPanel {
}
});
FieldLabel geometryLabel = new FieldLabel(
geometry, col.getLabel());
geometry, label);
geometryLabel.setLabelWidth(LABELSIZE);
geometryLabel.setId(col.getColumnId());
fields.add(geometryLabel);
@ -278,7 +292,8 @@ public class EditRowPanel extends FramedPanel {
if (col.getDataTypeName().compareTo(
ColumnDataType.Integer.toString()) == 0) {
TextField integ = new TextField();
String value=rowRaw.getMap().get(col.getColumnId());
String value = rowRaw.getMap().get(
col.getColumnId());
integ.setValue(value);
integ.addValueChangeHandler(new ValueChangeHandler<String>() {
@Override
@ -287,8 +302,9 @@ public class EditRowPanel extends FramedPanel {
}
});
FieldLabel integLabel = new FieldLabel(
integ, col.getLabel());
integ, label);
integLabel.setLabelWidth(LABELSIZE);
integLabel.setId(col.getColumnId());
fields.add(integLabel);
@ -297,7 +313,8 @@ public class EditRowPanel extends FramedPanel {
ColumnDataType.Numeric
.toString()) == 0) {
TextField numeric = new TextField();
String value=rowRaw.getMap().get(col.getColumnId());
String value = rowRaw.getMap().get(
col.getColumnId());
numeric.setValue(value);
numeric.setId(col.getColumnId());
numeric.addValueChangeHandler(new ValueChangeHandler<String>() {
@ -308,8 +325,9 @@ public class EditRowPanel extends FramedPanel {
}
});
FieldLabel numericLabel = new FieldLabel(
numeric, col.getLabel());
numericLabel.setLabelWidth(LABELSIZE);
numeric, label);
numericLabel
.setLabelWidth(LABELSIZE);
numericLabel.setId(col
.getColumnId());
fields.add(numericLabel);
@ -328,7 +346,8 @@ public class EditRowPanel extends FramedPanel {
}
protected FieldLabel retrieveDimensionLabel(final ColumnData col) {
protected FieldLabel retrieveDimensionLabel(final ColumnData col,
String label) {
// comboDimension
DimensionRowsProperties propsDimension = GWT
.create(DimensionRowsProperties.class);
@ -337,7 +356,7 @@ public class EditRowPanel extends FramedPanel {
final ComboBox<DimensionRow> comboDimension = new ComboBox<DimensionRow>(
storeComboDimensionType, propsDimension.value());
Log.debug("ComboDimensionType created");
final DimensionRowSelectionListener listener = new DimensionRowSelectionListener() {
@ -360,19 +379,18 @@ public class EditRowPanel extends FramedPanel {
}
};
String viewColumn=col.getRelationship().getTargetColumnId();
String valueOnViewColumn=rowRaw.getMap().get(viewColumn);
final CellData cellData = new CellData(valueOnViewColumn, "", viewColumn,
"", rowRaw.getRowId(), 0, 0);
DimensionRow dimR=new DimensionRow(rowRaw.getRowId(),valueOnViewColumn);
String viewColumn = col.getRelationship().getTargetColumnId();
String valueOnViewColumn = rowRaw.getMap().get(viewColumn);
final CellData cellData = new CellData(valueOnViewColumn, "",
viewColumn, "", rowRaw.getRowId(), 0, 0);
DimensionRow dimR = new DimensionRow(rowRaw.getRowId(),
valueOnViewColumn);
comboDimension.setValue(dimR);
comboDimension.addTriggerClickHandler(new TriggerClickHandler() {
@Override
@ -394,8 +412,7 @@ public class EditRowPanel extends FramedPanel {
comboDimension.setEditable(false);
comboDimension.setTriggerAction(TriggerAction.ALL);
FieldLabel dimensionLabel = new FieldLabel(comboDimension,
col.getLabel());
FieldLabel dimensionLabel = new FieldLabel(comboDimension, label);
dimensionLabel.setId(col.getColumnId());
return dimensionLabel;
}