Minor Update

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-extractcodelist-widget@96215 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-05-28 15:16:39 +00:00
parent 83c513ce33
commit 7d2a96e0fa
1 changed files with 47 additions and 21 deletions

View File

@ -2,6 +2,8 @@ package org.gcube.portlets.user.td.extractcodelistwidget.client;
import java.util.ArrayList;
import org.gcube.portlets.user.td.columnwidget.client.create.CreateDefColumnDialog;
import org.gcube.portlets.user.td.columnwidget.client.create.CreateDefColumnListener;
import org.gcube.portlets.user.td.columnwidget.client.dimension.CodelistSelectionDialog;
import org.gcube.portlets.user.td.columnwidget.client.dimension.CodelistSelectionListener;
import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataPropertiesCombo;
@ -16,6 +18,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.tr.DefNewColumn;
import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent;
import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.TableType;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.GWT;
@ -135,6 +138,7 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements
formLayout = new VerticalLayoutContainer();
formLayout.setScrollMode(ScrollMode.AUTO);
formLayout.setAdjustForScroll(true);
ArrayList<FieldLabel> fields = generateFields();
for (FieldLabel fl : fields) {
@ -162,7 +166,7 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements
protected ArrayList<FieldLabel> generateFields() {
ArrayList<FieldLabel> fields = new ArrayList<FieldLabel>();
int i = 0;
for (ColumnData sourceCol : parent.extractCodelistSession
.getSourceColumns()) {
String label = new String();
@ -175,36 +179,58 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements
}
if (connection == null) {
FieldLabel fieldLabel = retrieveNewColumnLabel(sourceCol, label);
fieldLabel.setLabelWidth(LABELSIZE);
fieldLabel.setId(sourceCol.getColumnId());
fields.add(fieldLabel);
} else {
FieldLabel fieldLabel = retrieveReferenceColumnLabel(sourceCol,
FieldLabel fieldLabel = retrieveNewColumnLabel(i, sourceCol,
label);
fieldLabel.setLabelWidth(LABELSIZE);
fieldLabel.setId(sourceCol.getColumnId());
fields.add(fieldLabel);
} else {
FieldLabel fieldLabel = retrieveReferenceColumnLabel(i,
sourceCol, label);
fieldLabel.setLabelWidth(LABELSIZE);
fieldLabel.setId(sourceCol.getColumnId());
fields.add(fieldLabel);
}
i++;
}
return fields;
}
protected FieldLabel retrieveNewColumnLabel(final ColumnData col,
String label) {
protected FieldLabel retrieveNewColumnLabel(final int index,
final ColumnData col, String label) {
// comboDefColumn
ExtractCodelistDefColumnPropertiesCombo props = GWT
.create(ExtractCodelistDefColumnPropertiesCombo.class);
ListStore<DefNewColumn> storeComboDefColumn = new ListStore<DefNewColumn>(
props.id());
final ComboBox<DefNewColumn> comboDefColumn = new ComboBox<DefNewColumn>(
storeComboDefColumn, props.label());
Log.debug("ComboDefColumn created");
final CreateDefColumnListener createDefColumnListener = new CreateDefColumnListener() {
@Override
public void failedDefColumnCreation(String reason, String details) {
Log.error("Change Value Failed:" + reason + " " + details);
}
@Override
public void completedDefColumnCreation(DefNewColumn defNewColumn) {
comboDefColumn.setValue(defNewColumn);
}
@Override
public void abortedDefColumnCreation() {
Log.debug("Change Value Aborted");
}
};
final String indexS = String.valueOf(index);
comboDefColumn.addTriggerClickHandler(new TriggerClickHandler() {
@Override
@ -212,28 +238,27 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements
Log.debug("ComboDefColumn TriggerClickEvent");
comboDefColumn.collapse();
/*DimensionRowSelectionDialog dialogDimensionRowSelection = new DimensionRowSelectionDialog(
col, cellData, eventBus);
dialogDimensionRowSelection.addListener(listener);
dialogDimensionRowSelection.show();*/
CreateDefColumnDialog createDefColumnDialog = new CreateDefColumnDialog(
indexS, TableType.CODELIST, parent.getEventBus());
createDefColumnDialog.addListener(createDefColumnListener);
createDefColumnDialog.show();
}
});
comboDefColumn.setEmptyText("Select a Column...");
comboDefColumn.setWidth(COMBOWIDTH);
comboDefColumn.setEditable(false);
comboDefColumn.setTriggerAction(TriggerAction.ALL);
FieldLabel columnLabel = new FieldLabel(comboDefColumn, label);
columnLabel.setId(col.getColumnId());
return columnLabel;
}
protected FieldLabel retrieveReferenceColumnLabel(final ColumnData col,
String label) {
protected FieldLabel retrieveReferenceColumnLabel(int index,
final ColumnData col, String label) {
// comboColumn
ColumnDataPropertiesCombo props = GWT
.create(ColumnDataPropertiesCombo.class);
@ -343,6 +368,7 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements
form.clear();
formLayout = new VerticalLayoutContainer();
formLayout.setScrollMode(ScrollMode.AUTO);
formLayout.setAdjustForScroll(true);
ArrayList<FieldLabel> fields = generateFields();
for (FieldLabel fl : fields) {