diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/ChangeColumnTypePanel.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/ChangeColumnTypePanel.java index b698b3b..a6659f1 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/ChangeColumnTypePanel.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/ChangeColumnTypePanel.java @@ -21,8 +21,6 @@ import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.event.logical.shared.SelectionEvent; import com.google.gwt.event.logical.shared.SelectionHandler; -import com.google.gwt.event.logical.shared.ValueChangeEvent; -import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.web.bindery.event.shared.EventBus; import com.sencha.gxt.cell.core.client.form.ComboBoxCell.TriggerAction; @@ -62,8 +60,8 @@ public class ChangeColumnTypePanel extends FramedPanel { protected FieldLabel comboMeasureTypeLabel; protected ComboBox comboAttributeType = null; protected FieldLabel comboAttributeTypeLabel; - protected TextField labelColumn; + protected ListLoader> loader; public ChangeColumnTypePanel(TRId trId, String columnName, EventBus eventBus) { setWidth(WIDTH); @@ -74,6 +72,7 @@ public class ChangeColumnTypePanel extends FramedPanel { this.columnName = columnName; this.eventBus = eventBus; + //Column Data ColumnDataProperties propsColumnData = GWT .create(ColumnDataProperties.class); ListStore storeCombo = new ListStore( @@ -88,9 +87,10 @@ public class ChangeColumnTypePanel extends FramedPanel { loadData(loadConfig, callback); } }; - final ListLoader> loader = new ListLoader>( + + loader = new ListLoader>( proxy); - loader.setRemoteSort(false); + //loader.setRemoteSort(false); loader.addLoadHandler(new LoadResultListStoreBinding>( storeCombo)); Log.trace("LoaderCombo created"); @@ -109,12 +109,14 @@ 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(true); - comboColumn.setEditable(true); + comboColumn.setTypeAhead(false); + comboColumn.setEditable(false); comboColumn.setTriggerAction(TriggerAction.ALL); @@ -191,35 +193,38 @@ public class ChangeColumnTypePanel extends FramedPanel { v.add(comboAttributeTypeLabel, new VerticalLayoutData(1, -1)); add(v, new VerticalLayoutData(-1, -1, new Margins())); - addButton(new TextButton("Change")); + add(new TextButton("Change"), new VerticalLayoutData(-1, -1, new Margins(10,0,10,0))); + + //addButton(); } - private void addHandlersForEventObservation(ComboBox combo, - final LabelProvider labelProvider) { - combo.addValueChangeHandler(new ValueChangeHandler() { + + + + protected void addHandlersForComboColumn( + final LabelProvider labelProvider) { + comboColumn + .addSelectionHandler(new SelectionHandler() { + public void onSelection( + SelectionEvent 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()); + } - public void onValueChange(ValueChangeEvent event) { - Info.display( - "Value Changed", - "New value: " - + (event.getValue() == null ? "nothing" - : labelProvider.getLabel(event - .getValue()) + "!")); - - } - }); - combo.addSelectionHandler(new SelectionHandler() { - public void onSelection(SelectionEvent event) { - Info.display( - "State Selected", - "You selected " - + (event.getSelectedItem() == null ? "nothing" - : labelProvider.getLabel(event - .getSelectedItem()) + "!")); - } - }); + }); } - + + protected void addHandlersForComboColumnTypeCode( final LabelProvider labelProvider) { comboColumnTypeCode @@ -227,7 +232,7 @@ public class ChangeColumnTypePanel extends FramedPanel { public void onSelection( SelectionEvent event) { Info.display( - "Type Selected", + "Column Type Selected", "You selected " + (event.getSelectedItem() == null ? "nothing" : labelProvider.getLabel(event @@ -250,7 +255,7 @@ public class ChangeColumnTypePanel extends FramedPanel { public void onSelection( SelectionEvent event) { Info.display( - "Type Selected", + "Measure Type Selected", "You selected " + (event.getSelectedItem() == null ? "nothing" : labelProvider.getLabel(event @@ -273,13 +278,13 @@ public class ChangeColumnTypePanel extends FramedPanel { public void onSelection( SelectionEvent event) { Info.display( - "Type Selected", + "Attribute Type Selected", "You selected " + (event.getSelectedItem() == null ? "nothing" : labelProvider.getLabel(event .getSelectedItem()) + "!")); - Log.debug("ComboMeasureType selected: " + Log.debug("ComboAttributeType selected: " + event.getSelectedItem()); ColumnDataTypeElement attributeType = event .getSelectedItem(); @@ -290,6 +295,7 @@ public class ChangeColumnTypePanel extends FramedPanel { } protected void updateColumnType(ColumnTypeCode type) { + Log.debug("Update ColumnTyepeCod"+type.toString()); if (type == ColumnTypeCode.MEASURE) { comboMeasureTypeLabel.setVisible(true); comboAttributeTypeLabel.setVisible(false); @@ -316,10 +322,6 @@ public class ChangeColumnTypePanel extends FramedPanel { protected void loadData(ListLoadConfig loadConfig, final AsyncCallback> callback) { - - - - TDGWTServiceAsync.INSTANCE.getColumns(trId, new AsyncCallback>() { diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/store/ColumnTypeCodeStore.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/store/ColumnTypeCodeStore.java index a911af7..53751f1 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/store/ColumnTypeCodeStore.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/store/ColumnTypeCodeStore.java @@ -18,9 +18,10 @@ public class ColumnTypeCodeStore implements Serializable { private static final long serialVersionUID = -1908324094430432681L; - protected static ArrayList store = new ArrayList(); - + protected static ArrayList store; + public static ArrayList getColumnTypeCodes(){ + store = new ArrayList(); store.add(new ColumnTypeCodeElement(1,ColumnTypeCode.ANNOTATION)); store.add(new ColumnTypeCodeElement(2,ColumnTypeCode.ATTRIBUTE)); store.add(new ColumnTypeCodeElement(3,ColumnTypeCode.MEASURE));