Minor Update
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-column-widget@94583 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
cc4a2f71fe
commit
915b0753c3
|
@ -2,18 +2,20 @@ package org.gcube.portlets.user.td.columnwidget.client;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.gcube.portlets.user.td.columnwidget.client.dimension.CodelistSelectionListener;
|
||||
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.progress.ChangeColumnTypeProgressDialog;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataProperties;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataTypeProperties;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnTypeCodeProperties;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.properties.LocaleTypeProperties;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.properties.TabResourceProperties;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.properties.TimeDimensionTypeProperties;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeElement;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeStore;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeElement;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeStore;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.store.LocaleTypeElement;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.store.TimeDimensionTypeElement;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.store.TimeDimensionTypeStore;
|
||||
import org.gcube.portlets.user.td.columnwidget.client.utils.UtilsGXT3;
|
||||
|
@ -96,6 +98,10 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
protected ComboBox<TimeDimensionTypeElement> comboTimeDimensionType = null;
|
||||
protected FieldLabel comboTimeDimensionTypeLabel;
|
||||
|
||||
protected ComboBox<LocaleTypeElement> comboLocaleType = null;
|
||||
protected FieldLabel comboLocaleTypeLabel;
|
||||
protected ListStore<LocaleTypeElement> storeComboLocaleType;
|
||||
|
||||
protected ListLoader<ListLoadConfig, ListLoadResult<ColumnData>> loader;
|
||||
|
||||
protected TextButton change;
|
||||
|
@ -114,10 +120,8 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
create();
|
||||
}
|
||||
|
||||
|
||||
protected void create() {
|
||||
|
||||
|
||||
Log.debug("Create ChangeColumnTypePanel(): [" + trId.toString()
|
||||
+ " columnName: " + columnName + "]");
|
||||
|
||||
|
@ -234,6 +238,35 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
comboAttributeTypeLabel = new FieldLabel(comboAttributeType,
|
||||
"Attribute Type");
|
||||
|
||||
// comboLocaleType
|
||||
LocaleTypeProperties propsLocaleType = GWT
|
||||
.create(LocaleTypeProperties.class);
|
||||
storeComboLocaleType = new ListStore<LocaleTypeElement>(
|
||||
propsLocaleType.id());
|
||||
|
||||
comboLocaleType = new ComboBox<LocaleTypeElement>(storeComboLocaleType,
|
||||
propsLocaleType.label()) {
|
||||
|
||||
protected void onAfterFirstAttach() {
|
||||
super.onAfterFirstAttach();
|
||||
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
|
||||
public void execute() {
|
||||
retriveLocales();
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
Log.trace("ComboLocaleType created");
|
||||
|
||||
addHandlersForComboLocaleType(propsLocaleType.label());
|
||||
|
||||
comboLocaleType.setEmptyText("Select a locale type...");
|
||||
comboLocaleType.setWidth(191);
|
||||
comboLocaleType.setTypeAhead(true);
|
||||
comboLocaleType.setTriggerAction(TriggerAction.ALL);
|
||||
|
||||
comboLocaleTypeLabel = new FieldLabel(comboLocaleType, "Locale");
|
||||
|
||||
// comboDimensionType
|
||||
TabResourceProperties propsDimensionType = GWT
|
||||
.create(TabResourceProperties.class);
|
||||
|
@ -282,9 +315,10 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
.getTimeDimensionType());
|
||||
|
||||
/*
|
||||
ListView<TimeDimensionTypeElement, String> view = new ListView<TimeDimensionTypeElement, String>(storeComboTimeDimensionType,
|
||||
propsTimeDimensionType.viewLabel());
|
||||
view.setWidth("150px");
|
||||
* ListView<TimeDimensionTypeElement, String> view = new
|
||||
* ListView<TimeDimensionTypeElement,
|
||||
* String>(storeComboTimeDimensionType,
|
||||
* propsTimeDimensionType.viewLabel()); view.setWidth("150px");
|
||||
*/
|
||||
comboTimeDimensionType = new ComboBox<TimeDimensionTypeElement>(
|
||||
storeComboTimeDimensionType, propsTimeDimensionType.label());
|
||||
|
@ -292,7 +326,6 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
|
||||
addHandlersForComboTimeDimensionType(propsTimeDimensionType.label());
|
||||
|
||||
|
||||
comboTimeDimensionType.setEmptyText("Select a time dimension type...");
|
||||
comboTimeDimensionType.setWidth(191);
|
||||
comboTimeDimensionType.setTypeAhead(true);
|
||||
|
@ -318,6 +351,8 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
-1, new Margins(1)));
|
||||
v.add(new FieldLabel(comboColumnTypeCode, "Column Type"),
|
||||
new VerticalLayoutData(1, -1, new Margins(1)));
|
||||
v.add(comboLocaleTypeLabel, new VerticalLayoutData(1, -1,
|
||||
new Margins(1)));
|
||||
v.add(comboMeasureTypeLabel, new VerticalLayoutData(1, -1, new Margins(
|
||||
1)));
|
||||
v.add(comboAttributeTypeLabel, new VerticalLayoutData(1, -1,
|
||||
|
@ -336,6 +371,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
comboDimensionTypeLabel.setVisible(false);
|
||||
comboColumnReferenceTypeLabel.setVisible(false);
|
||||
comboTimeDimensionTypeLabel.setVisible(false);
|
||||
comboLocaleTypeLabel.setVisible(false);
|
||||
|
||||
// addButton();
|
||||
}
|
||||
|
@ -427,6 +463,28 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
});
|
||||
}
|
||||
|
||||
protected void addHandlersForComboLocaleType(
|
||||
final LabelProvider<LocaleTypeElement> labelProvider) {
|
||||
comboLocaleType
|
||||
.addSelectionHandler(new SelectionHandler<LocaleTypeElement>() {
|
||||
public void onSelection(
|
||||
SelectionEvent<LocaleTypeElement> event) {
|
||||
Info.display(
|
||||
"Locale Type Selected",
|
||||
"You selected "
|
||||
+ (event.getSelectedItem() == null ? "nothing"
|
||||
: labelProvider.getLabel(event
|
||||
.getSelectedItem())
|
||||
+ "!"));
|
||||
Log.debug("ComboLocaleType selected: "
|
||||
+ event.getSelectedItem());
|
||||
LocaleTypeElement localeType = event.getSelectedItem();
|
||||
updateLocaleType(localeType);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
protected void addHandlersForComboDimensionType(
|
||||
final LabelProvider<TabResource> labelProvider) {
|
||||
|
||||
|
@ -492,7 +550,16 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
protected void updateColumnType(ColumnTypeCode type) {
|
||||
Log.debug("Update ColumnTypeCode " + type.toString());
|
||||
switch (type) {
|
||||
case CODENAME:
|
||||
comboLocaleTypeLabel.setVisible(true);
|
||||
comboMeasureTypeLabel.setVisible(false);
|
||||
comboAttributeTypeLabel.setVisible(false);
|
||||
comboDimensionTypeLabel.setVisible(false);
|
||||
comboColumnReferenceTypeLabel.setVisible(false);
|
||||
comboTimeDimensionTypeLabel.setVisible(false);
|
||||
break;
|
||||
case ATTRIBUTE:
|
||||
comboLocaleTypeLabel.setVisible(false);
|
||||
comboMeasureTypeLabel.setVisible(false);
|
||||
comboAttributeTypeLabel.setVisible(true);
|
||||
comboDimensionTypeLabel.setVisible(false);
|
||||
|
@ -500,6 +567,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
comboTimeDimensionTypeLabel.setVisible(false);
|
||||
break;
|
||||
case DIMENSION:
|
||||
comboLocaleTypeLabel.setVisible(false);
|
||||
comboMeasureTypeLabel.setVisible(false);
|
||||
comboAttributeTypeLabel.setVisible(false);
|
||||
comboDimensionTypeLabel.setVisible(true);
|
||||
|
@ -507,6 +575,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
comboTimeDimensionTypeLabel.setVisible(false);
|
||||
break;
|
||||
case MEASURE:
|
||||
comboLocaleTypeLabel.setVisible(false);
|
||||
comboMeasureTypeLabel.setVisible(true);
|
||||
comboAttributeTypeLabel.setVisible(false);
|
||||
comboDimensionTypeLabel.setVisible(false);
|
||||
|
@ -514,6 +583,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
comboTimeDimensionTypeLabel.setVisible(false);
|
||||
break;
|
||||
case TIMEDIMENSION:
|
||||
comboLocaleTypeLabel.setVisible(false);
|
||||
comboMeasureTypeLabel.setVisible(false);
|
||||
comboAttributeTypeLabel.setVisible(false);
|
||||
comboDimensionTypeLabel.setVisible(false);
|
||||
|
@ -521,6 +591,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
comboTimeDimensionTypeLabel.setVisible(true);
|
||||
break;
|
||||
default:
|
||||
comboLocaleTypeLabel.setVisible(false);
|
||||
comboMeasureTypeLabel.setVisible(false);
|
||||
comboAttributeTypeLabel.setVisible(false);
|
||||
comboDimensionTypeLabel.setVisible(false);
|
||||
|
@ -540,6 +611,10 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
|
||||
}
|
||||
|
||||
protected void updateLocaleType(LocaleTypeElement type) {
|
||||
|
||||
}
|
||||
|
||||
protected void updateTimeDimensionType(TimeDimensionType type) {
|
||||
|
||||
}
|
||||
|
@ -650,11 +725,13 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
.setColumnDataTypeTarget(dataType);
|
||||
callChangeColumnType();
|
||||
} else {
|
||||
UtilsGXT3.alert("Attention", "Column data type not selected!");
|
||||
UtilsGXT3.alert("Attention",
|
||||
"Column data type not selected!");
|
||||
}
|
||||
|
||||
} else {
|
||||
UtilsGXT3.alert("Attention", "Column data type not selected!");
|
||||
UtilsGXT3.alert("Attention",
|
||||
"Column data type not selected!");
|
||||
}
|
||||
break;
|
||||
case ATTRIBUTE:
|
||||
|
@ -669,10 +746,12 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
.setColumnDataTypeTarget(dataType);
|
||||
callChangeColumnType();
|
||||
} else {
|
||||
UtilsGXT3.alert("Attention", "Column data type not selected!");
|
||||
UtilsGXT3.alert("Attention",
|
||||
"Column data type not selected!");
|
||||
}
|
||||
} else {
|
||||
UtilsGXT3.alert("Attention", "Column data type not selected!");
|
||||
UtilsGXT3.alert("Attention",
|
||||
"Column data type not selected!");
|
||||
}
|
||||
break;
|
||||
case CODE:
|
||||
|
@ -681,7 +760,15 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
break;
|
||||
case CODENAME:
|
||||
changeColumnTypeSession.setColumnTypeCodeTarget(type);
|
||||
LocaleTypeElement locale = comboLocaleType
|
||||
.getCurrentValue();
|
||||
if (locale != null) {
|
||||
changeColumnTypeSession.setLocale(locale.getLocaleName());
|
||||
callChangeColumnType();
|
||||
} else {
|
||||
UtilsGXT3.alert("Attention",
|
||||
"No locale selected!");
|
||||
}
|
||||
break;
|
||||
case CODEDESCRIPTION:
|
||||
changeColumnTypeSession.setColumnTypeCodeTarget(type);
|
||||
|
@ -700,7 +787,8 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
.setCodelistColumnReference(columnReference);
|
||||
callChangeColumnType();
|
||||
} else {
|
||||
UtilsGXT3.alert("Attention", "No column reference selected!");
|
||||
UtilsGXT3.alert("Attention",
|
||||
"No column reference selected!");
|
||||
}
|
||||
break;
|
||||
case TIMEDIMENSION:
|
||||
|
@ -720,11 +808,13 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
}
|
||||
|
||||
} else {
|
||||
UtilsGXT3.alert("Attention", "Time Dimension type not selected!");
|
||||
UtilsGXT3.alert("Attention",
|
||||
"Time Dimension type not selected!");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
UtilsGXT3.alert("Attention", "This column type is not supported now!");
|
||||
UtilsGXT3.alert("Attention",
|
||||
"This column type is not supported now!");
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
|
@ -741,7 +831,8 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
public void onFailure(Throwable caught) {
|
||||
Log.debug("Change Column Type Error: "
|
||||
+ caught.getLocalizedMessage());
|
||||
UtilsGXT3.alert("Change Column Type Error ",
|
||||
UtilsGXT3
|
||||
.alert("Change Column Type Error ",
|
||||
"Error in invocation of change column type operation!");
|
||||
|
||||
}
|
||||
|
@ -755,8 +846,6 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void callDialogCodelistSelection() {
|
||||
CodelistSelectionDialog dialogCodelistSelection = new CodelistSelectionDialog(
|
||||
eventBus);
|
||||
|
@ -810,4 +899,34 @@ public class ChangeColumnTypePanel extends FramedPanel implements
|
|||
|
||||
}
|
||||
|
||||
protected void retriveLocales() {
|
||||
TDGWTServiceAsync.INSTANCE
|
||||
.getLocales(new AsyncCallback<ArrayList<String>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
Log.debug(caught.getLocalizedMessage());
|
||||
UtilsGXT3.alert("Error retrieving locales",
|
||||
caught.getLocalizedMessage());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(ArrayList<String> result) {
|
||||
storeComboLocaleType.clear();
|
||||
ArrayList<LocaleTypeElement> locales = new ArrayList<LocaleTypeElement>();
|
||||
LocaleTypeElement locale;
|
||||
for (String local : result) {
|
||||
locale = new LocaleTypeElement(local);
|
||||
locales.add(locale);
|
||||
}
|
||||
storeComboLocaleType.addAll(locales);
|
||||
storeComboLocaleType.commitChanges();
|
||||
// comboColumnReferenceTypeLabel.setVisible(true);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package org.gcube.portlets.user.td.columnwidget.client.properties;
|
||||
|
||||
import org.gcube.portlets.user.td.columnwidget.client.store.LocaleTypeElement;
|
||||
|
||||
import com.google.gwt.editor.client.Editor.Path;
|
||||
import com.sencha.gxt.data.shared.LabelProvider;
|
||||
import com.sencha.gxt.data.shared.ModelKeyProvider;
|
||||
import com.sencha.gxt.data.shared.PropertyAccess;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author "Giancarlo Panichi"
|
||||
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
||||
*
|
||||
*/
|
||||
public interface LocaleTypeProperties extends
|
||||
PropertyAccess<LocaleTypeElement> {
|
||||
|
||||
@Path("id")
|
||||
ModelKeyProvider<LocaleTypeElement> id();
|
||||
|
||||
LabelProvider<LocaleTypeElement> label();
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package org.gcube.portlets.user.td.columnwidget.client.store;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author "Giancarlo Panichi" <a
|
||||
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
||||
*
|
||||
*/
|
||||
public class LocaleTypeElement implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
protected String localeName;
|
||||
|
||||
public LocaleTypeElement() {
|
||||
}
|
||||
|
||||
public LocaleTypeElement(String localeName){
|
||||
this.localeName=localeName;
|
||||
}
|
||||
|
||||
|
||||
public String getLocaleName() {
|
||||
return localeName;
|
||||
}
|
||||
|
||||
public void setLocaleName(String localeName) {
|
||||
this.localeName = localeName;
|
||||
}
|
||||
|
||||
public String id(){
|
||||
return localeName;
|
||||
}
|
||||
|
||||
public String label(){
|
||||
return localeName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "LocaleTypeElement [localeName=" + localeName + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -3,6 +3,7 @@
|
|||
<!-- Inherit the core Web Toolkit stuff. -->
|
||||
<inherits name='com.google.gwt.user.User' />
|
||||
|
||||
|
||||
<!-- We need the JUnit module in the main module, -->
|
||||
<!-- otherwise eclipse complains (Google plugin bug?) -->
|
||||
<inherits name='com.google.gwt.junit.JUnit' />
|
||||
|
|
Loading…
Reference in New Issue