diff --git a/.gwt/.gwt-log b/.gwt/.gwt-log index d029c07..ba05a90 100644 --- a/.gwt/.gwt-log +++ b/.gwt/.gwt-log @@ -1734,3 +1734,35 @@ Compiling... Compilation completed in 0.00 seconds Removing invalidated units Finding entry point classes +Public resources found in... +Translatable source found in... +Found 0 cached/archived units. Used 0 / 2719 units from cache. +Compiling... + 30% complete (ETR: 10 seconds) + 30% complete (ETR: 10 seconds) + 30% complete (ETR: 10 seconds) + 30% complete (ETR: 10 seconds) + 40% complete (ETR: 8 seconds) + 50% complete (ETR: 6 seconds) + 60% complete (ETR: 4 seconds) + 70% complete (ETR: 3 seconds) + 80% complete (ETR: 2 seconds) + 90% complete (ETR: 1 seconds) + 100% complete (ETR: 0 seconds) + Compilation completed in 18.13 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 2719 cached/archived units. Used 2719 / 2719 units from cache. +Compiling... + Compilation completed in 0.00 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 2719 cached/archived units. Used 2719 / 2719 units from cache. +Compiling... + Compilation completed in 0.00 seconds +Removing invalidated units +Finding entry point classes 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 8a67d15..f55ebe1 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 @@ -46,12 +46,9 @@ import com.sencha.gxt.data.shared.loader.ListLoadResultBean; import com.sencha.gxt.data.shared.loader.ListLoader; import com.sencha.gxt.data.shared.loader.LoadResultListStoreBinding; import com.sencha.gxt.widget.core.client.FramedPanel; -import com.sencha.gxt.widget.core.client.box.AlertMessageBox; import com.sencha.gxt.widget.core.client.button.TextButton; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; -import com.sencha.gxt.widget.core.client.event.HideEvent; -import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler; import com.sencha.gxt.widget.core.client.event.SelectEvent; import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; import com.sencha.gxt.widget.core.client.event.TriggerClickEvent; diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/BatchReplaceDialog.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/BatchReplaceDialog.java index 76ee390..25e1dd3 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/BatchReplaceDialog.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/BatchReplaceDialog.java @@ -4,6 +4,8 @@ import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; import com.google.web.bindery.event.shared.EventBus; import com.sencha.gxt.widget.core.client.Window; +import com.sencha.gxt.widget.core.client.event.SelectEvent; +import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; /** @@ -20,16 +22,51 @@ public class BatchReplaceDialog extends Window { public BatchReplaceDialog(TRId trId, String columnName, EventBus eventBus) { - setWidth(WIDTH); - setHeight(HEIGHT); - setBodyBorder(false); - setResizable(false); - setHeadingText("Change Column Type"); //getHeader().setIcon(Resources.IMAGES.side_list()); this.trId=trId; this.columnName=columnName; + initWindow(); BatchReplacePanel batchRepalcePanel= new BatchReplacePanel(trId,columnName,eventBus); add(batchRepalcePanel); } + + protected void initWindow() { + setWidth(WIDTH); + setHeight(HEIGHT); + setBodyBorder(false); + setResizable(false); + setHeadingText("Replace Value"); + setClosable(true); + setModal(true); + forceLayoutOnResize = true; + //getHeader().setIcon(ColumnResources.INSTANCE.rule()); + + } + + /** + * {@inheritDoc} + */ + @Override + protected void initTools() { + super.initTools(); + + closeBtn.addSelectHandler(new SelectHandler() { + + + public void onSelect(SelectEvent event) { + close(); + } + }); + + } + + protected void close (){ + /*ExpressionEvent expressionEvent = new ExpressionEvent( + ExpressionType.EXPRESSIONNULL); + //Log.debug(expressionEvent.toString());*/ + hide(); + //eventBus.fireEvent(expressionEvent); + } + } diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/BatchReplacePanel.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/BatchReplacePanel.java index 35f24d4..3db1b63 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/BatchReplacePanel.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/BatchReplacePanel.java @@ -5,25 +5,37 @@ import java.util.List; import org.gcube.portlets.user.td.columnwidget.client.ChangeColumnTypeDialog; import org.gcube.portlets.user.td.columnwidget.client.dimension.CodelistSelectionListener; +import org.gcube.portlets.user.td.columnwidget.client.utils.UtilsGXT3; +import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; +import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource; import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurences; import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; import com.allen_sauer.gwt.log.client.Log; +import com.google.gwt.cell.client.Cell.Context; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.web.bindery.event.shared.EventBus; +import com.sencha.gxt.cell.core.client.TextButtonCell; import com.sencha.gxt.core.client.IdentityValueProvider; import com.sencha.gxt.core.client.Style.SelectionMode; +import com.sencha.gxt.core.client.util.Format; +import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.data.client.loader.RpcProxy; import com.sencha.gxt.data.shared.ListStore; import com.sencha.gxt.data.shared.loader.ListLoadConfig; import com.sencha.gxt.data.shared.loader.ListLoadResult; +import com.sencha.gxt.data.shared.loader.ListLoadResultBean; import com.sencha.gxt.data.shared.loader.ListLoader; import com.sencha.gxt.data.shared.loader.LoadResultListStoreBinding; import com.sencha.gxt.widget.core.client.FramedPanel; +import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; +import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; +import com.sencha.gxt.widget.core.client.event.SelectEvent; +import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; import com.sencha.gxt.widget.core.client.form.TextField; import com.sencha.gxt.widget.core.client.grid.CheckBoxSelectionModel; import com.sencha.gxt.widget.core.client.grid.ColumnConfig; @@ -33,9 +45,9 @@ import com.sencha.gxt.widget.core.client.grid.RowNumberer; /** * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * + * @author "Giancarlo Panichi" g.panichi@isti.cnr.it + * */ public class BatchReplacePanel extends FramedPanel implements CodelistSelectionListener { @@ -46,11 +58,17 @@ public class BatchReplacePanel extends FramedPanel implements protected TextField label = null; protected TRId trId; protected String columnName; + protected ColumnData column; + + protected static final String DON_T_REPLACE = "Don't replace"; - protected ListLoader> loader; - protected Grid grid; + protected ListLoader> loader; + protected Grid grid; + protected ListStore store; + public BatchReplacePanel(TRId trId, String columnName, EventBus eventBus) { + Log.debug("BatchReplacePanel:["+trId+", columnName:"+columnName+"]"); setWidth(WIDTH); setHeight(HEIGHT); setHeaderVisible(false); @@ -58,52 +76,78 @@ public class BatchReplacePanel extends FramedPanel implements this.trId = trId; this.columnName = columnName; this.eventBus = eventBus; - Log.debug("Create BatchReplacePanel(): [" + trId.toString()+" , columnName:"+columnName + "]"); - create(); - } - - - protected void create(){ + Log.debug("Create BatchReplacePanel(): [" + trId.toString() + + " , columnName:" + columnName + "]"); + UtilsGXT3.mask(this.getElement()); + retrieveColumn(); - IdentityValueProvider identity=new IdentityValueProvider(); - CheckBoxSelectionModel sm = new CheckBoxSelectionModel( + } + + protected void create() { + + IdentityValueProvider identity = new IdentityValueProvider(); + CheckBoxSelectionModel sm = new CheckBoxSelectionModel( identity); - RowNumberer number = new RowNumberer(identity); - - OccurencesProperties props = GWT.create(OccurencesProperties.class); + RowNumberer number = new RowNumberer(identity); - - ColumnConfig valueCol = new ColumnConfig( + ReplaceEntryProperties props = GWT.create(ReplaceEntryProperties.class); + + ColumnConfig valueCol = new ColumnConfig( props.value()); - ColumnConfig numberCol = new ColumnConfig( + ColumnConfig numberCol = new ColumnConfig( props.number()); + ColumnConfig replacementValueCol = new ColumnConfig( + props.replacementValue()); + /*ColumnConfig replacementIdCol = new ColumnConfig( + props.replacementId()); + */ + ColumnConfig changeColumn = new ColumnConfig( + props.value()); - - List> l = new ArrayList>(); + TextButtonCell button = new TextButtonCell(); + // button.setIcon(resources.image()); + // button.setTitle("Change Value"); + button.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + Context c = event.getContext(); + int row = c.getIndex(); + ReplaceEntry re = store.get(row); + Log.debug("ReplaceEntry " + re.toString() + " was clicked."); + } + }); + + changeColumn.setCell(button); + + List> l = new ArrayList>(); l.add(number); l.add(valueCol); l.add(numberCol); - ColumnModel cm = new ColumnModel(l); + l.add(replacementValueCol); + //l.add(replacementIdCol); + l.add(changeColumn); + ColumnModel cm = new ColumnModel(l); - ListStore store = new ListStore(props.id()); + store = new ListStore(props.id()); - RpcProxy> proxy = new RpcProxy>() { + RpcProxy> proxy = new RpcProxy>() { public void load(ListLoadConfig loadConfig, - final AsyncCallback> callback) { + final AsyncCallback> callback) { loadData(loadConfig, callback); } }; - loader = new ListLoader>( + loader = new ListLoader>( proxy); loader.setRemoteSort(false); - loader.addLoadHandler(new LoadResultListStoreBinding>( + loader.addLoadHandler(new LoadResultListStoreBinding>( store) { }); - grid = new Grid(store, cm) { + grid = new Grid(store, cm) { @Override protected void onAfterFirstAttach() { super.onAfterFirstAttach(); @@ -119,62 +163,149 @@ public class BatchReplacePanel extends FramedPanel implements sm.setSelectionMode(SelectionMode.MULTI); grid.setLoader(loader); grid.setSelectionModel(sm); - //grid.getView().setAutoExpandColumn(labelCol); - //grid.setHeight(360); + number.initPlugin(grid); + // grid.getView().setAutoExpandColumn(labelCol); + // grid.setHeight(360); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); - grid.getView().setAutoFill(true); + grid.getView().setAutoFill(true); grid.setBorders(false); grid.setLoadMask(true); grid.setColumnReordering(true); grid.setColumnResize(false); + VerticalLayoutContainer v = new VerticalLayoutContainer(); + v.add(grid, new VerticalLayoutData(-1, -1, new Margins(0))); + UtilsGXT3.umask(this.getElement()); + add(v); + + + } + + + protected void retrieveColumn(){ + TDGWTServiceAsync.INSTANCE.getColumn(trId, columnName, + new AsyncCallback() { + + public void onFailure(Throwable caught) { + Log.error("load column failure:" + + caught.getLocalizedMessage()); + UtilsGXT3.alert("Error retrieving column", + "Error retrieving column"); + + } + + public void onSuccess(ColumnData result) { + Log.debug("Column: "+result); + column=result; + create(); + } + + }); } - protected void loadData(ListLoadConfig loadConfig, - final AsyncCallback> callback) { - /*TDGWTServiceAsync.INSTANCE.getColumns(trId, + final AsyncCallback> callback) { + + TDGWTServiceAsync.INSTANCE.getOccurencesForBatchReplace(column, new AsyncCallback>() { public void onFailure(Throwable caught) { Log.error("load columns failure:" + caught.getLocalizedMessage()); - alert("Error retrieving columns", + UtilsGXT3.alert("Error retrieving columns", "Error retrieving columns"); callback.onFailure(caught); } - public void onSuccess(ArrayList result) { - Log.trace("loaded " + result.size() + " ColumnData"); - callback.onSuccess(new ListLoadResultBean( - result)); + public void onSuccess(ArrayList result) { + Log.trace("loaded " + result.size() + " Occurences"); + callback.onSuccess(new ListLoadResultBean( + getRecord(result))); } }); - */ + + } + + protected void updateInfo() { + Log.trace("updating the info bar"); + int total = store.size(); + int totalErrors = 0; + int assignedErrors = 0; + int assigned = 0; + for (ReplaceEntry record : store.getAll()) { + int errors = record.getNumber(); + totalErrors += errors; + if (record.getReplacementValue() != null) { + assigned++; + assignedErrors += errors; + } + } + + String text = Format + .substitute("Assigned {0} ({1} error occurence) of {2} ({3} error occurence)", + String.valueOf(assigned), + String.valueOf(assignedErrors), String.valueOf(total), + String.valueOf(totalErrors)); + //infoText.setText(text); + Log.debug(text); + } + + /*public ArrayList getReplaceEntries() { + ArrayList entries = new ArrayList(); + for (ReplaceEntry record : store.getAll() { + if (record.getAsString(REPLACE_ID_FIELD) != null) { + ReplaceEntry entry = new ReplaceEntry( + record.getAsString(ERROR_VALUE_FIELD), + record.getAsString(REPLACE_VALUE_FIELD), + record.getAsString(REPLACE_ID_FIELD)); + entries.add(entry); + } + } + return entries; + } + + protected void updateEntries(ArrayList entries) { + store.clear(); + ArrayList records = getRecord(entries); + store.addAll(records); + store.commitChanges(); + }*/ + + protected ArrayList getRecord(ArrayList entries) { + ArrayList records = new ArrayList(); + for (Occurences entry : entries) + records.add(getRecord(entry)); + return records; + } + + protected ReplaceEntry getRecord(Occurences entry) { + ReplaceEntry data = new ReplaceEntry(entry.getValue(), entry.getNumber(), + DON_T_REPLACE, null); + return data; } - @Override public void selected(TabResource tabResource) { // TODO Auto-generated method stub - - } + } @Override public void aborted() { // TODO Auto-generated method stub - - } + } @Override public void failed(String reason, String detail) { // TODO Auto-generated method stub - + } + + + } diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceEntry.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceEntry.java new file mode 100644 index 0000000..1afc902 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceEntry.java @@ -0,0 +1,66 @@ +package org.gcube.portlets.user.td.columnwidget.client.batch; + + +class ReplaceEntry { + + protected String value; + protected Integer number; + protected String replacementValue; + protected String replacementId; + + /** + * @param errorValue + * @param replacementValue + * @param replacementId + */ + public ReplaceEntry(String value, Integer number, String replacementValue, String replacementId) { + this.value = value; + this.number = number; + this.replacementValue = replacementValue; + this.replacementId = replacementId; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public Integer getNumber() { + return number; + } + + public void setNumber(Integer number) { + this.number = number; + } + + public String getReplacementValue() { + return replacementValue; + } + + public void setReplacementValue(String replacementValue) { + this.replacementValue = replacementValue; + } + + public String getReplacementId() { + return replacementId; + } + + public void setReplacementId(String replacementId) { + this.replacementId = replacementId; + } + + @Override + public String toString() { + return "ReplaceEntry [value=" + value + ", number=" + number + + ", replacementValue=" + replacementValue + ", replacementId=" + + replacementId + "]"; + } + + + + +} + diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceEntryProperties.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceEntryProperties.java new file mode 100644 index 0000000..8083e4b --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceEntryProperties.java @@ -0,0 +1,27 @@ +/** + * + */ +package org.gcube.portlets.user.td.columnwidget.client.batch; + +import com.google.gwt.editor.client.Editor.Path; +import com.sencha.gxt.core.client.ValueProvider; +import com.sencha.gxt.data.shared.ModelKeyProvider; +import com.sencha.gxt.data.shared.PropertyAccess; + +/** + * + * @author "Giancarlo Panichi" + * g.panichi@isti.cnr.it + * + */ +public interface ReplaceEntryProperties extends PropertyAccess { + + @Path("value") + ModelKeyProvider id(); + + ValueProvider value(); + ValueProvider number(); + ValueProvider replacementValue(); + ValueProvider replacementId(); + +} diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.css b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.css new file mode 100644 index 0000000..8be4ac0 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.css @@ -0,0 +1,3 @@ +.image { + cursor: pointer; +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.html b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.html new file mode 100644 index 0000000..5cd8e63 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.html @@ -0,0 +1 @@ +
{img}
\ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButtonCell.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButtonCell.java new file mode 100644 index 0000000..9d55302 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButtonCell.java @@ -0,0 +1,79 @@ +package org.gcube.portlets.user.td.columnwidget.client.custom; + + +import com.google.gwt.cell.client.ValueUpdater; +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.NativeEvent; +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.resources.client.ImageResource; +import com.google.gwt.safehtml.shared.SafeHtmlBuilder; +import com.sencha.gxt.cell.core.client.ResizeCell; +import com.sencha.gxt.core.client.dom.XElement; +import com.sencha.gxt.widget.core.client.event.BeforeSelectEvent; +import com.sencha.gxt.widget.core.client.event.SelectEvent; +import com.sencha.gxt.widget.core.client.event.SelectEvent.HasSelectHandlers; +import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; + +public class ActionButtonCell extends ResizeCell implements HasSelectHandlers { + + private final ActionButtonCellAppearance appearance; + private ImageResource icon; + private String title; + + public ActionButtonCell() { + this(GWT. create(ActionButtonCellAppearance.class)); + } + + public ActionButtonCell(ActionButtonCellAppearance appearance) { + super("click"); + this.appearance = appearance; + } + + public void setIcon(ImageResource icon) { + this.icon = icon; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public HandlerRegistration addSelectHandler(SelectHandler handler) { + return addHandler(handler, SelectEvent.getType()); + } + + @Override + public void render(Context context, + String value, SafeHtmlBuilder sb) { + this.appearance.icon = icon; + this.appearance.title = title; + this.appearance.render(sb); + } + + @Override + public void onBrowserEvent(Context context, + Element parent, String value, NativeEvent event, + ValueUpdater valueUpdater) { + Element target = event.getEventTarget().cast(); + // ignore the parent element + if (isDisableEvents() || !parent.getFirstChildElement().isOrHasChild(target)) { + return; + } + + XElement p = parent.cast(); + + String eventType = event.getType(); + if ("click".equals(eventType)) { + onClick(context, p, value, event, valueUpdater); + } + } + + private void onClick(Context context, XElement p, String value, NativeEvent event, ValueUpdater valueUpdater) { + if (!isDisableEvents() && fireCancellableEvent(context, new BeforeSelectEvent(context))) { + fireEvent(context, new SelectEvent(context)); + } + } + + +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButtonCellAppearance.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButtonCellAppearance.java new file mode 100644 index 0000000..c997d1b --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButtonCellAppearance.java @@ -0,0 +1,60 @@ +package org.gcube.portlets.user.td.columnwidget.client.custom; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.resources.client.ClientBundle; +import com.google.gwt.resources.client.CssResource; +import com.google.gwt.resources.client.ImageResource; +import com.google.gwt.safehtml.shared.SafeHtml; +import com.google.gwt.safehtml.shared.SafeHtmlBuilder; +import com.google.gwt.safehtml.shared.SafeHtmlUtils; +import com.google.gwt.user.client.ui.AbstractImagePrototype; +import com.sencha.gxt.core.client.XTemplates; + +public class ActionButtonCellAppearance { + + public interface Style extends CssResource { + String image(); + } + + public interface Template extends XTemplates { + @XTemplate(source = "ActionButton.html") + SafeHtml template(Style style, SafeHtml img, String title); + } + + public interface Resources extends ClientBundle { + @Source("ActionButton.css") + Style style(); + } + + private final Style style; + private final Template template; + + public ImageResource icon; + public String title; + + public ActionButtonCellAppearance(){ + this((Resources) GWT.create(Resources.class)); + } + + public ActionButtonCellAppearance(Resources resources){ + this.style = resources.style(); + this.style.ensureInjected(); + this.template = GWT.create(Template.class); + } + + public void render(SafeHtmlBuilder sb) { + sb.append(template.template(style, makeImage(icon), title)); + } + + /** + * Make icons available as SafeHtml to be displayed inside the table + * + * @param resource + * @return + */ + private static SafeHtml makeImage(ImageResource resource) { + AbstractImagePrototype proto = AbstractImagePrototype.create(resource); + String html = proto.getHTML(); + return SafeHtmlUtils.fromTrustedString(html); + } +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/progress/LabelColumnProgressDialog.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/progress/LabelColumnProgressDialog.java index 3f61b53..81e679d 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/progress/LabelColumnProgressDialog.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/progress/LabelColumnProgressDialog.java @@ -12,12 +12,9 @@ import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.widget.core.client.FramedPanel; import com.sencha.gxt.widget.core.client.ProgressBar; import com.sencha.gxt.widget.core.client.Window; -import com.sencha.gxt.widget.core.client.box.AlertMessageBox; import com.sencha.gxt.widget.core.client.button.TextButton; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; -import com.sencha.gxt.widget.core.client.event.HideEvent; -import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler; import com.sencha.gxt.widget.core.client.event.SelectEvent; import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; diff --git a/src/main/resources/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.css b/src/main/resources/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.css new file mode 100644 index 0000000..8be4ac0 --- /dev/null +++ b/src/main/resources/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.css @@ -0,0 +1,3 @@ +.image { + cursor: pointer; +} \ No newline at end of file diff --git a/src/main/resources/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.html b/src/main/resources/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.html new file mode 100644 index 0000000..5cd8e63 --- /dev/null +++ b/src/main/resources/org/gcube/portlets/user/td/columnwidget/client/custom/ActionButton.html @@ -0,0 +1 @@ +
{img}
\ No newline at end of file