195 lines
4.8 KiB
Java
195 lines
4.8 KiB
Java
|
package org.gcube.portlets.user.td.mainboxwidget.client;
|
||
|
|
||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.DataViewRequestEvent;
|
||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.UIStateEvent;
|
||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.DataViewRequestType;
|
||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.UIStateType;
|
||
|
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
|
||
|
import org.gcube.portlets.user.td.widgetcommonevent.shared.dataview.DataView;
|
||
|
import org.gcube.portlets.user.td.widgetcommonevent.shared.dataview.TabularResourceDataView;
|
||
|
|
||
|
import com.allen_sauer.gwt.log.client.Log;
|
||
|
import com.google.web.bindery.event.shared.EventBus;
|
||
|
import com.sencha.gxt.widget.core.client.ContentPanel;
|
||
|
|
||
|
public class MainBoxPanel extends ContentPanel {
|
||
|
|
||
|
protected EventBus eventBus;
|
||
|
protected MainBox mainBox;
|
||
|
protected MainBoxPanelState state;
|
||
|
protected UIStateType uiStateType;
|
||
|
protected DataViewRequestType dataViewRequestType;
|
||
|
|
||
|
public MainBoxPanel(String name, EventBus eventBus) {
|
||
|
super();
|
||
|
Log.debug("Open MainBoxPanel");
|
||
|
this.eventBus = eventBus;
|
||
|
setId(name);
|
||
|
setHeaderVisible(false);
|
||
|
setResize(true);
|
||
|
setBodyBorder(false);
|
||
|
setBorders(false);
|
||
|
forceLayoutOnResize = true;
|
||
|
mainBox = new MainBox("MainBox", eventBus, this);
|
||
|
add(mainBox);
|
||
|
startPanel();
|
||
|
bindToEvents();
|
||
|
|
||
|
}
|
||
|
|
||
|
protected void bindToEvents() {
|
||
|
|
||
|
eventBus.addHandler(DataViewRequestEvent.TYPE,
|
||
|
new DataViewRequestEvent.DataViewRequestEventHandler() {
|
||
|
|
||
|
public void onDataViewRequest(DataViewRequestEvent event) {
|
||
|
manageDataViewRequestEvents(event);
|
||
|
|
||
|
}
|
||
|
});
|
||
|
|
||
|
eventBus.addHandler(UIStateEvent.TYPE,
|
||
|
new UIStateEvent.UIStateHandler() {
|
||
|
|
||
|
public void onUIState(UIStateEvent event) {
|
||
|
manageUIStateEvents(event);
|
||
|
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
protected void manageUIStateEvents(UIStateEvent event) {
|
||
|
Log.debug("MainBox recieved event: "
|
||
|
+ event.getUIStateType().toString());
|
||
|
uiStateType = event.getUIStateType();
|
||
|
TRId trId=null;
|
||
|
|
||
|
switch (event.getUIStateType()) {
|
||
|
case START:
|
||
|
break;
|
||
|
case TR_CLOSE:
|
||
|
// this.enable();
|
||
|
closePanel();
|
||
|
break;
|
||
|
case TR_OPEN:
|
||
|
// this.enable();
|
||
|
trId=event.getTrId();
|
||
|
updateForOpenPanel(new TabularResourceDataView(trId));
|
||
|
break;
|
||
|
case TABLECURATION:
|
||
|
trId=event.getTrId();
|
||
|
updateForCurationPanel(new TabularResourceDataView(trId));
|
||
|
break;
|
||
|
case TABLEUPDATE:
|
||
|
trId=event.getTrId();
|
||
|
updatePanel(new TabularResourceDataView(trId));
|
||
|
break;
|
||
|
case TR_READONLY:
|
||
|
break;
|
||
|
case WIZARD_OPEN:
|
||
|
// this.disable();
|
||
|
break;
|
||
|
default:
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
protected void manageDataViewRequestEvents(DataViewRequestEvent event) {
|
||
|
Log.debug("MainBox recieved event: "
|
||
|
+ event.getDataViewRequestType().toString());
|
||
|
dataViewRequestType = event.getDataViewRequestType();
|
||
|
switch (event.getDataViewRequestType()) {
|
||
|
case RESOURCE:
|
||
|
break;
|
||
|
case TABULARRESOURCE:
|
||
|
doTabularResourceTab(event);
|
||
|
break;
|
||
|
default:
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
protected void doTabularResourceTab(DataViewRequestEvent event) {
|
||
|
Log.debug("DataViewRequestEvent.TDXPanel : ["
|
||
|
+ event.getDataView() + "]");
|
||
|
if (uiStateType == UIStateType.TR_OPEN
|
||
|
|| uiStateType == UIStateType.TABLECURATION
|
||
|
|| uiStateType == UIStateType.TABLEUPDATE) {
|
||
|
if (state == MainBoxPanelState.OPENED) {
|
||
|
mainBox.openTDXTab(event.getDataView());
|
||
|
Log.debug("MainBoxPanelState.OPENED Add Tabs");
|
||
|
} else {
|
||
|
enable();
|
||
|
expand();
|
||
|
state = MainBoxPanelState.OPENED;
|
||
|
mainBox.openTDXTab(event.getDataView());
|
||
|
}
|
||
|
} else {
|
||
|
Log.debug("MainBoxPanel No tabular resource open");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
public void closePanelOnly() {
|
||
|
collapse();
|
||
|
disable();
|
||
|
state = MainBoxPanelState.CLOSED;
|
||
|
}
|
||
|
|
||
|
public void closePanel() {
|
||
|
mainBox.closePanel();
|
||
|
Log.debug("MainBoxPanel Closed");
|
||
|
}
|
||
|
|
||
|
public void startPanel() {
|
||
|
enable();
|
||
|
expand();
|
||
|
state = MainBoxPanelState.OPENED;
|
||
|
mainBox.startTabs();
|
||
|
|
||
|
}
|
||
|
|
||
|
public void updatePanel(DataView dataView) {
|
||
|
if (state == MainBoxPanelState.OPENED) {
|
||
|
mainBox.updateTabs(dataView);
|
||
|
Log.debug("MainBoxPanel Updated");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void updateForOpenPanel(DataView dataView) {
|
||
|
if (state == MainBoxPanelState.OPENED) {
|
||
|
mainBox.updateTabs(dataView);
|
||
|
Log.debug("MainBoxPanel Updated For Table");
|
||
|
} else {
|
||
|
enable();
|
||
|
expand();
|
||
|
state = MainBoxPanelState.OPENED;
|
||
|
mainBox.updateTabs(dataView);
|
||
|
//mainBox.openPropertiesTab();
|
||
|
Log.debug("MainBoxPanel Updated For Table");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void updateForCurationPanel(DataView dataView) {
|
||
|
if (state == MainBoxPanelState.OPENED) {
|
||
|
mainBox.updateTabs(dataView);
|
||
|
//mainBox.openValidationsTasksTab(trId);
|
||
|
Log.debug("MainBoxPanel Updated For Curation");
|
||
|
} else {
|
||
|
enable();
|
||
|
expand();
|
||
|
state = MainBoxPanelState.OPENED;
|
||
|
mainBox.updateTabs(dataView);
|
||
|
//mainBox.openValidationsTasksTab(trId);
|
||
|
Log.debug("MainBoxPanel Updated For Curation");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|