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