diff --git a/src/main/java/org/gcube/portlets/user/td/openwidget/client/TDOpen.java b/src/main/java/org/gcube/portlets/user/td/openwidget/client/TDOpen.java index 7310c76..a3d5f29 100644 --- a/src/main/java/org/gcube/portlets/user/td/openwidget/client/TDOpen.java +++ b/src/main/java/org/gcube/portlets/user/td/openwidget/client/TDOpen.java @@ -1,5 +1,6 @@ package org.gcube.portlets.user.td.openwidget.client; +import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; import org.gcube.portlets.user.td.wizardwidget.client.WizardWindow; import org.gcube.portlets.user.td.wizardwidget.client.dataresource.ResourceBundle; import org.gcube.portlets.user.td.gwtservice.shared.tr.open.TDOpenSession; @@ -25,9 +26,9 @@ public class TDOpen extends WizardWindow { * @param targetId */ - public TDOpen(String title,EventBus eventBus) { + public TDOpen(TRId trId,String title,EventBus eventBus) { super(title,eventBus); - Log.info("TDOpen: "+title); + Log.info("TDOpen: "+title+", current tr: "+trId); setWidth(WITHWIZARD); setHeight(HEIGHTWIZARD); BUTTONNEXTLABEL="Open"; @@ -39,7 +40,7 @@ public class TDOpen extends WizardWindow { tdOpenSession= new TDOpenSession(); - TabResourcesSelectionCard tabResourcesSelection= new TabResourcesSelectionCard(tdOpenSession); + TabResourcesSelectionCard tabResourcesSelection= new TabResourcesSelectionCard(trId,tdOpenSession); addCard(tabResourcesSelection); tabResourcesSelection.setup(); diff --git a/src/main/java/org/gcube/portlets/user/td/openwidget/client/TDOpenEntry.java b/src/main/java/org/gcube/portlets/user/td/openwidget/client/TDOpenEntry.java index ef24d45..49d08b8 100644 --- a/src/main/java/org/gcube/portlets/user/td/openwidget/client/TDOpenEntry.java +++ b/src/main/java/org/gcube/portlets/user/td/openwidget/client/TDOpenEntry.java @@ -2,6 +2,8 @@ package org.gcube.portlets.user.td.openwidget.client; +import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; + import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.EntryPoint; import com.google.web.bindery.event.shared.SimpleEventBus; @@ -16,8 +18,9 @@ public class TDOpenEntry implements EntryPoint { public void onModuleLoad() { + TRId trId=new TRId(); SimpleEventBus eventBus=new SimpleEventBus(); - TDOpen tdopen= new TDOpen("Open Tabular Resource",eventBus); + TDOpen tdopen= new TDOpen(trId,"Open Tabular Resource",eventBus); Log.info(tdopen.getId()); } } diff --git a/src/main/java/org/gcube/portlets/user/td/openwidget/client/TabResourcesSelectionCard.java b/src/main/java/org/gcube/portlets/user/td/openwidget/client/TabResourcesSelectionCard.java index f32b29a..4b87801 100644 --- a/src/main/java/org/gcube/portlets/user/td/openwidget/client/TabResourcesSelectionCard.java +++ b/src/main/java/org/gcube/portlets/user/td/openwidget/client/TabResourcesSelectionCard.java @@ -7,6 +7,9 @@ import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource; import org.gcube.portlets.user.td.gwtservice.shared.tr.TableData; import org.gcube.portlets.user.td.gwtservice.shared.tr.open.TDOpenSession; +import org.gcube.portlets.user.td.widgetcommonevent.client.event.RibbonEvent; +import org.gcube.portlets.user.td.widgetcommonevent.client.type.RibbonType; +import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; import org.gcube.portlets.user.td.wizardwidget.client.WizardCard; import com.allen_sauer.gwt.log.client.Log; @@ -27,21 +30,24 @@ import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler; * */ public class TabResourcesSelectionCard extends WizardCard { - + protected TabResourcesSelectionCard thisCard; + protected TRId trId; protected TDOpenSession tdOpenSession; protected TabResourcesSelectionPanel tabResourcesSelectionPanel; protected TabResource selectedTabResource = null; - public TabResourcesSelectionCard(final TDOpenSession tdOpenSession) { + public TabResourcesSelectionCard(TRId trId, + final TDOpenSession tdOpenSession) { super("Select a Tabular Resource", ""); Log.debug("TabResourcesSelectionCard"); this.tdOpenSession = tdOpenSession; thisCard = this; + this.trId = trId; - tabResourcesSelectionPanel = new TabResourcesSelectionPanel(thisCard,res); + tabResourcesSelectionPanel = new TabResourcesSelectionPanel(thisCard, + res); - tabResourcesSelectionPanel .addSelectionHandler(new SelectionHandler() { @@ -123,36 +129,44 @@ public class TabResourcesSelectionCard extends WizardCard { mb.show(); } - - protected void callDeleteLastTable(){ - Log.debug("Delete TR:" + tdOpenSession - .getSelectedTabResource().getTrId()); + + protected void callDeleteLastTable() { + Log.debug("Delete TR:" + + tdOpenSession.getSelectedTabResource().getTrId()); TDGWTServiceAsync.INSTANCE.removeTabularResource(tdOpenSession - .getSelectedTabResource().getTrId(), - new AsyncCallback() { + .getSelectedTabResource().getTrId(), new AsyncCallback() { - public void onFailure(Throwable caught) { - AlertMessageBox d = new AlertMessageBox("Error", - "Error on delete TabResource: " - + caught.getLocalizedMessage()); - d.addHideHandler(new HideHandler() { + public void onFailure(Throwable caught) { + AlertMessageBox d = new AlertMessageBox("Error", + "Error on delete TabResource: " + + caught.getLocalizedMessage()); + d.addHideHandler(new HideHandler() { - public void onHide(HideEvent event) { - // TODO Auto-generated method stub + public void onHide(HideEvent event) { + // TODO Auto-generated method stub - } - }); - d.show(); - } - - public void onSuccess(Void result) { - tabResourcesSelectionPanel.gridReload(); - } - }); + d.show(); + + } + + public void onSuccess(Void result) { + Log.debug("Remove tabular resource success"); + Log.debug("Check current tr for close: "+trId); + if (trId!=null && trId.getId()!=null && trId.getId().compareTo( + tdOpenSession.getSelectedTabResource().getTrId() + .getId()) == 0) { + Log.debug("Fire Close Event on current TR"); + getEventBus().fireEvent(new RibbonEvent(RibbonType.CLOSE)); + } else { + Log.debug("No tr opened"); + } + tabResourcesSelectionPanel.gridReload(); + } + + }); } - protected void updateTDOpenSessionInfo(TableData table) { TabResource tabResource = tdOpenSession.getSelectedTabResource();