Minor Updated

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-column-widget@92441 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-02-27 17:43:24 +00:00
parent f052fa954b
commit 035de0495a
1 changed files with 92 additions and 19 deletions

View File

@ -65,7 +65,8 @@ import com.sencha.gxt.widget.core.client.info.Info;
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelectionListener {
public class ChangeColumnTypePanel extends FramedPanel implements
CodelistSelectionListener {
protected String WIDTH = "640px";
protected String HEIGHT = "520px";
protected EventBus eventBus;
@ -82,6 +83,8 @@ public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelect
protected FieldLabel comboAttributeTypeLabel;
protected ComboBox<TabResource> comboDimensionType = null;
protected FieldLabel comboDimensionTypeLabel;
protected ComboBox<ColumnData> comboColumnReferenceType = null;
protected FieldLabel comboColumnReferenceTypeLabel;
protected ListLoader<ListLoadConfig, ListLoadResult<ColumnData>> loader;
@ -216,7 +219,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelect
"Attribute Type");
comboAttributeTypeLabel.setVisible(false);
// comboMeasureType
// comboDimensionType
TabResourceProperties propsDimensionType = GWT
.create(TabResourceProperties.class);
ListStore<TabResource> storeComboDimensionType = new ListStore<TabResource>(
@ -225,7 +228,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelect
comboDimensionType = new ComboBox<TabResource>(storeComboDimensionType,
propsDimensionType.label());
Log.trace("ComboDimensionType created");
addHandlersForComboDimensionType(propsDimensionType.label());
comboDimensionType.setEmptyText("Select a Dimension...");
@ -233,11 +236,31 @@ public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelect
comboDimensionType.setEditable(false);
comboDimensionType.setTriggerAction(TriggerAction.ALL);
comboDimensionTypeLabel = new FieldLabel(comboDimensionType, "Codelist");
comboDimensionTypeLabel.setVisible(false);
// ColumnReferenceType
ColumnDataProperties propsColumnReferenceType = GWT
.create(ColumnDataProperties.class);
ListStore<ColumnData> storeComboColumnReferenceType = new ListStore<ColumnData>(
propsColumnReferenceType.id());
comboColumnReferenceType = new ComboBox<ColumnData>(
storeComboColumnReferenceType, propsColumnReferenceType.label());
Log.trace("ComboColumnReferenceType created");
addHandlersForComboColumnReferenceType(propsColumnReferenceType.label());
comboColumnReferenceType.setEmptyText("Select a Column Reference...");
comboColumnReferenceType.setWidth(150);
comboColumnReferenceType.setEditable(false);
comboColumnReferenceType.setTriggerAction(TriggerAction.ALL);
comboColumnReferenceTypeLabel = new FieldLabel(
comboColumnReferenceType, "Column");
comboColumnReferenceTypeLabel.setVisible(false);
// Change
change = new TextButton("Change");
SelectHandler changeHandler = new SelectHandler() {
@ -349,13 +372,10 @@ public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelect
});
}
protected void addHandlersForComboDimensionType(
final LabelProvider<TabResource> labelProvider) {
comboDimensionType.addTriggerClickHandler(new TriggerClickHandler() {
@Override
@ -364,13 +384,36 @@ public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelect
callDialogCodelistSelection();
comboDimensionType.collapse();
}
});
}
protected void addHandlersForComboColumnReferenceType(
final LabelProvider<ColumnData> labelProvider) {
comboColumnReferenceType
.addSelectionHandler(new SelectionHandler<ColumnData>() {
public void onSelection(
SelectionEvent<ColumnData> event) {
Info.display(
"Column Reference Selected",
"You selected "
+ (event.getSelectedItem() == null ? "nothing"
: labelProvider.getLabel(event
.getSelectedItem())
+ "!"));
Log.debug("ComboColumnReferenceType selected: "
+ event.getSelectedItem());
}
});
}
protected void updateColumnType(ColumnTypeCode type) {
Log.debug("Update ColumnTypeCode " + type.toString());
@ -556,8 +599,15 @@ public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelect
callChangeColumnType();
} else {
alert("Attention",
"This column type is not supported now!");
if (type == ColumnTypeCode.DIMENSION) {
changeColumnTypeSession
.setColumnTypeCodeTarget(type);
callChangeColumnType();
} else {
alert("Attention",
"This column type is not supported now!");
}
}
}
}
@ -616,20 +666,43 @@ public class ChangeColumnTypePanel extends FramedPanel implements CodelistSelect
@Override
public void selected(TabResource tabResource) {
Log.debug("Selected Codelist: "+tabResource);
Log.debug("Selected Codelist: " + tabResource);
comboDimensionType.setValue(tabResource);
retriveColumnData(tabResource);
}
@Override
public void aborted() {
Log.debug("Select Codelist Aborted");
}
@Override
public void failed(String reason, String detail) {
Log.error("Select Codelist Failed[reason: "+reason+" , detail:"+detail+"]");
Log.error("Select Codelist Failed[reason: " + reason + " , detail:"
+ detail + "]");
}
protected void retriveColumnData(TabResource tabResource) {
TDGWTServiceAsync.INSTANCE.getColumns(tabResource.getTrId(),
new AsyncCallback<ArrayList<ColumnData>>() {
@Override
public void onFailure(Throwable caught) {
Log.debug("Error retrieving columns: "
+ caught.getLocalizedMessage());
alert("Error retrieving columns",
"Error retrieving columns on server!");
}
@Override
public void onSuccess(ArrayList<ColumnData> result) {
}
});
}
}