Fixed ColumnType Tab behavior
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-column-widget@90977 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
dd342ac3a2
commit
155ed57c5a
|
@ -29,6 +29,7 @@ import com.sencha.gxt.data.client.loader.RpcProxy;
|
|||
import com.sencha.gxt.data.shared.LabelProvider;
|
||||
import com.sencha.gxt.data.shared.ListStore;
|
||||
import com.sencha.gxt.data.shared.loader.ListLoadConfig;
|
||||
import com.sencha.gxt.data.shared.loader.ListLoadConfigBean;
|
||||
import com.sencha.gxt.data.shared.loader.ListLoadResult;
|
||||
import com.sencha.gxt.data.shared.loader.ListLoadResultBean;
|
||||
import com.sencha.gxt.data.shared.loader.ListLoader;
|
||||
|
@ -70,16 +71,17 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
this.trId = trId;
|
||||
this.columnName = columnName;
|
||||
this.eventBus = eventBus;
|
||||
Log.debug("Create ChangeColumnTypePanel(): ["+ trId.toString()+" columnName: "+columnName+"]");
|
||||
|
||||
//Column Data
|
||||
Log.debug("Create ChangeColumnTypePanel(): [" + trId.toString()
|
||||
+ " columnName: " + columnName + "]");
|
||||
|
||||
// Column Data
|
||||
ColumnDataProperties propsColumnData = GWT
|
||||
.create(ColumnDataProperties.class);
|
||||
ListStore<ColumnData> storeCombo = new ListStore<ColumnData>(
|
||||
propsColumnData.id());
|
||||
|
||||
Log.trace("StoreCombo created");
|
||||
|
||||
|
||||
RpcProxy<ListLoadConfig, ListLoadResult<ColumnData>> proxy = new RpcProxy<ListLoadConfig, ListLoadResult<ColumnData>>() {
|
||||
|
||||
public void load(ListLoadConfig loadConfig,
|
||||
|
@ -87,10 +89,17 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
loadData(loadConfig, callback);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
loader = new ListLoader<ListLoadConfig, ListLoadResult<ColumnData>>(
|
||||
proxy);
|
||||
//loader.setRemoteSort(false);
|
||||
proxy) {
|
||||
@Override
|
||||
protected ListLoadConfig newLoadConfig() {
|
||||
return (ListLoadConfig) new ListLoadConfigBean();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// loader.setRemoteSort(false);
|
||||
loader.addLoadHandler(new LoadResultListStoreBinding<ListLoadConfig, ColumnData, ListLoadResult<ColumnData>>(
|
||||
storeCombo));
|
||||
Log.trace("LoaderCombo created");
|
||||
|
@ -109,16 +118,15 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
};
|
||||
Log.trace("Combo ColumnData created");
|
||||
|
||||
//addHandlersForEventObservation(comboColumn, propsColumnData.label());
|
||||
// addHandlersForEventObservation(comboColumn, propsColumnData.label());
|
||||
addHandlersForComboColumn(propsColumnData.label());
|
||||
|
||||
|
||||
comboColumn.setLoader(loader);
|
||||
comboColumn.setEmptyText("Select a column...");
|
||||
comboColumn.setWidth(150);
|
||||
comboColumn.setTypeAhead(false);
|
||||
comboColumn.setEditable(false);
|
||||
comboColumn.setTriggerAction(TriggerAction.ALL);
|
||||
|
||||
|
||||
// comboColumnTypeCode
|
||||
ColumnTypeCodeProperties propsColumnTypeCode = GWT
|
||||
|
@ -177,10 +185,10 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
comboAttributeType.setTypeAhead(true);
|
||||
comboAttributeType.setTriggerAction(TriggerAction.ALL);
|
||||
|
||||
comboAttributeTypeLabel = new FieldLabel(comboAttributeType, "Attribute Type");
|
||||
comboAttributeTypeLabel = new FieldLabel(comboAttributeType,
|
||||
"Attribute Type");
|
||||
comboAttributeTypeLabel.setVisible(false);
|
||||
|
||||
|
||||
VerticalLayoutContainer v = new VerticalLayoutContainer();
|
||||
v.add(new FieldLabel(comboColumn, "Column"), new VerticalLayoutData(1,
|
||||
-1));
|
||||
|
@ -188,40 +196,31 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
new VerticalLayoutData(1, -1));
|
||||
v.add(comboMeasureTypeLabel, new VerticalLayoutData(1, -1));
|
||||
v.add(comboAttributeTypeLabel, new VerticalLayoutData(1, -1));
|
||||
v.add(new TextButton("Change"), new VerticalLayoutData(-1, -1, new Margins(10,0,10,0)));
|
||||
v.add(new TextButton("Change"), new VerticalLayoutData(-1, -1,
|
||||
new Margins(10, 0, 10, 0)));
|
||||
add(v, new VerticalLayoutData(-1, -1, new Margins()));
|
||||
|
||||
|
||||
//addButton();
|
||||
|
||||
// addButton();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
protected void addHandlersForComboColumn(
|
||||
final LabelProvider<ColumnData> labelProvider) {
|
||||
comboColumn
|
||||
.addSelectionHandler(new SelectionHandler<ColumnData>() {
|
||||
public void onSelection(
|
||||
SelectionEvent<ColumnData> event) {
|
||||
Info.display(
|
||||
"Column Type Selected",
|
||||
"You selected "
|
||||
+ (event.getSelectedItem() == null ? "nothing"
|
||||
: labelProvider.getLabel(event
|
||||
.getSelectedItem())
|
||||
+ "!"));
|
||||
Log.debug("ComboColumn selected: "
|
||||
+ event.getSelectedItem());
|
||||
ColumnData columnType = event
|
||||
.getSelectedItem();
|
||||
//updateColumnType(columnType.getCode());
|
||||
}
|
||||
final LabelProvider<ColumnData> labelProvider) {
|
||||
comboColumn.addSelectionHandler(new SelectionHandler<ColumnData>() {
|
||||
public void onSelection(SelectionEvent<ColumnData> event) {
|
||||
Info.display(
|
||||
"Column Type Selected",
|
||||
"You selected "
|
||||
+ (event.getSelectedItem() == null ? "nothing"
|
||||
: labelProvider.getLabel(event
|
||||
.getSelectedItem()) + "!"));
|
||||
Log.debug("ComboColumn selected: " + event.getSelectedItem());
|
||||
ColumnData columnData = event.getSelectedItem();
|
||||
updateComboStatus(columnData);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void addHandlersForComboColumnTypeCode(
|
||||
final LabelProvider<ColumnTypeCodeElement> labelProvider) {
|
||||
comboColumnTypeCode
|
||||
|
@ -267,7 +266,7 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
protected void addHandlersForComboAttributeType(
|
||||
final LabelProvider<ColumnDataTypeElement> labelProvider) {
|
||||
comboAttributeType
|
||||
|
@ -292,7 +291,7 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
}
|
||||
|
||||
protected void updateColumnType(ColumnTypeCode type) {
|
||||
Log.debug("Update ColumnTyepeCod"+type.toString());
|
||||
Log.debug("Update ColumnTypeCode " + type.toString());
|
||||
if (type == ColumnTypeCode.MEASURE) {
|
||||
comboMeasureTypeLabel.setVisible(true);
|
||||
comboAttributeTypeLabel.setVisible(false);
|
||||
|
@ -304,19 +303,18 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
comboMeasureTypeLabel.setVisible(false);
|
||||
comboAttributeTypeLabel.setVisible(false);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected void updateMeasureType(ColumnDataType type) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected void updateAttributeType(ColumnDataType type) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected void loadData(ListLoadConfig loadConfig,
|
||||
final AsyncCallback<ListLoadResult<ColumnData>> callback) {
|
||||
TDGWTServiceAsync.INSTANCE.getColumns(trId,
|
||||
|
@ -325,15 +323,16 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
public void onFailure(Throwable caught) {
|
||||
Log.error("load combo failure:"
|
||||
+ caught.getLocalizedMessage());
|
||||
AlertMessageBox d = new AlertMessageBox("Error", "Error retrieving columns of tabular resource:"+trId.getId());
|
||||
d.addHideHandler(new HideHandler() {
|
||||
|
||||
public void onHide(HideEvent event) {
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
d.show();
|
||||
AlertMessageBox d = new AlertMessageBox("Error",
|
||||
"Error retrieving columns of tabular resource:"
|
||||
+ trId.getId());
|
||||
d.addHideHandler(new HideHandler() {
|
||||
|
||||
public void onHide(HideEvent event) {
|
||||
|
||||
}
|
||||
});
|
||||
d.show();
|
||||
callback.onFailure(caught);
|
||||
}
|
||||
|
||||
|
@ -348,41 +347,44 @@ public class ChangeColumnTypePanel extends FramedPanel {
|
|||
});
|
||||
|
||||
}
|
||||
|
||||
protected void setComboStatus(ArrayList<ColumnData> result){
|
||||
Log.debug("ColumnName:"+columnName);
|
||||
|
||||
protected void setComboStatus(ArrayList<ColumnData> result) {
|
||||
Log.debug("ColumnName:" + columnName);
|
||||
if (columnName != null) {
|
||||
for (ColumnData cd : result) {
|
||||
Log.debug("ColumnData name:"+cd.getName());
|
||||
Log.debug("ColumnData name:" + cd.getName());
|
||||
if (cd.getName().compareTo(columnName) == 0) {
|
||||
updateComboStatus(cd);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void updateComboStatus(ColumnData cd){
|
||||
Log.debug("ColumnData: "+cd.toString());
|
||||
|
||||
protected void updateComboStatus(ColumnData cd) {
|
||||
Log.debug("ColumnData: " + cd.toString());
|
||||
comboColumn.setValue(cd);
|
||||
comboColumnTypeCode.setValue(ColumnTypeCodeStore.selectedElement(cd.getTypeCode()));
|
||||
ColumnTypeCode type=ColumnTypeCodeStore.selected(cd.getTypeCode());
|
||||
comboColumnTypeCode.setValue(ColumnTypeCodeStore.selectedElement(cd
|
||||
.getTypeCode()));
|
||||
ColumnTypeCode type = ColumnTypeCodeStore.selected(cd.getTypeCode());
|
||||
updateColumnType(type);
|
||||
if (type == ColumnTypeCode.MEASURE) {
|
||||
comboMeasureType.setValue(ColumnDataTypeStore.selectedMeasureElement(cd.getDataTypeName()));
|
||||
comboMeasureType.setValue(ColumnDataTypeStore
|
||||
.selectedMeasureElement(cd.getDataTypeName()));
|
||||
} else {
|
||||
if (type == ColumnTypeCode.ATTRIBUTE) {
|
||||
|
||||
comboMeasureType.setValue(ColumnDataTypeStore.selectedMeasureElement(cd.getDataTypeName()));
|
||||
comboAttributeType.setValue(ColumnDataTypeStore
|
||||
.selectedAttributeElement(cd.getDataTypeName()));
|
||||
} else {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void update(TRId trId, String columnName){
|
||||
this.trId=trId;
|
||||
this.columnName=columnName;
|
||||
|
||||
public void update(TRId trId, String columnName) {
|
||||
this.trId = trId;
|
||||
this.columnName = columnName;
|
||||
loader.load();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue