1657: StatMan AIgorithms Importer - Create a widget to sopport Project Explorer
Task-Url: https://support.d4science.org/issues/1657 Updated WorkspaceResourcesExplorer git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@120583 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
52deed0837
commit
6590a6a4a5
|
@ -52,8 +52,8 @@ public class WorkspaceExplorerController implements EventHandler {
|
||||||
public final static HandlerManager eventBus = new HandlerManager(null);
|
public final static HandlerManager eventBus = new HandlerManager(null);
|
||||||
private WorkspaceExplorerPanel workspaceExplorerPanel;
|
private WorkspaceExplorerPanel workspaceExplorerPanel;
|
||||||
private WorkspaceExplorer wsExplorer;
|
private WorkspaceExplorer wsExplorer;
|
||||||
private Breadcrumbs breadcrumbs = new Breadcrumbs();
|
private Breadcrumbs breadcrumbs = new Breadcrumbs(eventBus);
|
||||||
private Navigation navigation = new Navigation();
|
private Navigation navigation = new Navigation(eventBus);
|
||||||
|
|
||||||
public static final WorkspaceExplorerServiceAsync workspaceNavigatorService = GWT.create(WorkspaceExplorerService.class);
|
public static final WorkspaceExplorerServiceAsync workspaceNavigatorService = GWT.create(WorkspaceExplorerService.class);
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ public class WorkspaceExplorerController implements EventHandler {
|
||||||
public WorkspaceExplorerController(String heightPanel){
|
public WorkspaceExplorerController(String heightPanel){
|
||||||
bindEvents();
|
bindEvents();
|
||||||
//As default all items are showable and selectable
|
//As default all items are showable and selectable
|
||||||
wsExplorer = new WorkspaceExplorer(ItemType.values(), ItemType.values());
|
wsExplorer = new WorkspaceExplorer(eventBus, ItemType.values(), ItemType.values());
|
||||||
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation, heightPanel);
|
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation, heightPanel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ public class WorkspaceExplorerController implements EventHandler {
|
||||||
public WorkspaceExplorerController(FilterCriteria filterCriteria, String heightPanel) {
|
public WorkspaceExplorerController(FilterCriteria filterCriteria, String heightPanel) {
|
||||||
bindEvents();
|
bindEvents();
|
||||||
//As default all items are showable and selectable
|
//As default all items are showable and selectable
|
||||||
wsExplorer = new WorkspaceExplorer(filterCriteria, ItemType.values(), ItemType.values());
|
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values());
|
||||||
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation, heightPanel);
|
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation, heightPanel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,20 @@
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package org.gcube.portlets.widgets.wsexplorer.client.select;
|
package org.gcube.portlets.widgets.wsexplorer.client.explore;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants;
|
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.event.ClickItemEvent;
|
import org.gcube.portlets.widgets.wsexplorer.client.event.ClickItemEvent;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.event.ClickItemEventHandler;
|
import org.gcube.portlets.widgets.wsexplorer.client.event.ClickItemEventHandler;
|
||||||
|
import org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEvent;
|
||||||
|
import org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEventHandler;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.HasWorskpaceExplorerSelectNotificationListener;
|
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.HasWorskpaceExplorerSelectNotificationListener;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
|
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
|
||||||
|
import org.gcube.portlets.widgets.wsexplorer.client.view.Breadcrumbs;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer;
|
import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD;
|
import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||||
|
@ -25,6 +27,9 @@ import com.github.gwtbootstrap.client.ui.constants.ButtonType;
|
||||||
import com.google.gwt.core.shared.GWT;
|
import com.google.gwt.core.shared.GWT;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
|
import com.google.gwt.user.client.ui.DockPanel;
|
||||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||||
import com.google.gwt.user.client.ui.ScrollPanel;
|
import com.google.gwt.user.client.ui.ScrollPanel;
|
||||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||||
|
@ -37,9 +42,9 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||||
* Jul 28, 2015
|
* Jul 28, 2015
|
||||||
*/
|
*/
|
||||||
public class WorkspaceFolderExplorerSelectPanel extends ScrollPanel implements HasWorskpaceExplorerSelectNotificationListener{
|
public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWorskpaceExplorerSelectNotificationListener{
|
||||||
|
|
||||||
private WorkspaceFolderExplorerSelectPanel INSTANCE = this;
|
private WorkspaceResourcesExplorerPanel INSTANCE = this;
|
||||||
private boolean isSelect = false;
|
private boolean isSelect = false;
|
||||||
private String captionTxt;
|
private String captionTxt;
|
||||||
private Alert alertConfirm;
|
private Alert alertConfirm;
|
||||||
|
@ -48,7 +53,12 @@ public class WorkspaceFolderExplorerSelectPanel extends ScrollPanel implements H
|
||||||
private VerticalPanel mainVP = new VerticalPanel();
|
private VerticalPanel mainVP = new VerticalPanel();
|
||||||
private HorizontalPanel footerHP = new HorizontalPanel();
|
private HorizontalPanel footerHP = new HorizontalPanel();
|
||||||
private WorkspaceExplorer wsExplorer;
|
private WorkspaceExplorer wsExplorer;
|
||||||
|
private ScrollPanel centerScrollable = new ScrollPanel();
|
||||||
|
private ScrollPanel southPanel = new ScrollPanel();
|
||||||
|
public int defaultWidth = 200;
|
||||||
|
public int defaultHeight = 200;
|
||||||
|
public final HandlerManager eventBus = new HandlerManager(null);
|
||||||
|
private Breadcrumbs breadcrumbs = new Breadcrumbs(eventBus);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new workspace folder explorer select panel.
|
* Instantiates a new workspace folder explorer select panel.
|
||||||
|
@ -56,17 +66,16 @@ public class WorkspaceFolderExplorerSelectPanel extends ScrollPanel implements H
|
||||||
* @param folderId the folder id
|
* @param folderId the folder id
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public WorkspaceFolderExplorerSelectPanel(String folderId, String folderName) throws Exception {
|
public WorkspaceResourcesExplorerPanel(String folderId, String folderName) throws Exception {
|
||||||
initExplorer(folderId, folderName, ItemType.values(), ItemType.values());
|
initExplorer(folderId, folderName, ItemType.values(), ItemType.values());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initExplorer(String folderId, String folderName, ItemType[] selectableTypes, ItemType[] showableTypes) throws Exception{
|
private void initExplorer(String folderId, String folderName, ItemType[] selectableTypes, ItemType[] showableTypes) throws Exception{
|
||||||
bindEvents();
|
bindEvents();
|
||||||
wsExplorer = new WorkspaceExplorer(showableTypes, selectableTypes, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME});
|
wsExplorer = new WorkspaceExplorer(eventBus, showableTypes, selectableTypes, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME});
|
||||||
Item item = new Item(folderId, folderName, true);
|
Item item = new Item(folderId, folderName, true);
|
||||||
wsExplorer.loadFolder(item);
|
wsExplorer.loadFolder(item);
|
||||||
initPanel("");
|
initPanel("");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -76,7 +85,7 @@ public class WorkspaceFolderExplorerSelectPanel extends ScrollPanel implements H
|
||||||
* @param showOnlyFolders the show only folders
|
* @param showOnlyFolders the show only folders
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public WorkspaceFolderExplorerSelectPanel(String folderId, boolean showOnlyFolders) throws Exception {
|
public WorkspaceResourcesExplorerPanel(String folderId, boolean showOnlyFolders) throws Exception {
|
||||||
|
|
||||||
if(showOnlyFolders){
|
if(showOnlyFolders){
|
||||||
ItemType[] itemsType = new ItemType[1];
|
ItemType[] itemsType = new ItemType[1];
|
||||||
|
@ -92,7 +101,8 @@ public class WorkspaceFolderExplorerSelectPanel extends ScrollPanel implements H
|
||||||
* Bind events.
|
* Bind events.
|
||||||
*/
|
*/
|
||||||
private void bindEvents(){
|
private void bindEvents(){
|
||||||
WorkspaceExplorerController.eventBus.addHandler(ClickItemEvent.TYPE, new ClickItemEventHandler() {
|
|
||||||
|
eventBus.addHandler(ClickItemEvent.TYPE, new ClickItemEventHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(final ClickItemEvent clickItemEvent) {
|
public void onClick(final ClickItemEvent clickItemEvent) {
|
||||||
|
@ -109,15 +119,68 @@ public class WorkspaceFolderExplorerSelectPanel extends ScrollPanel implements H
|
||||||
isSelect = true;
|
isSelect = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
eventBus.addHandler(LoadFolderEvent.TYPE, new LoadFolderEventHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadFolder(LoadFolderEvent loadFolderEvent) {
|
||||||
|
|
||||||
|
if(loadFolderEvent.getTargetItem()!=null && loadFolderEvent.getTargetItem().isFolder()){
|
||||||
|
try {
|
||||||
|
wsExplorer.loadFolder(loadFolderEvent.getTargetItem());
|
||||||
|
loadParentBreadcrumbByItemId(loadFolderEvent.getTargetItem().getId(), true);
|
||||||
|
clearMoreInfo();
|
||||||
|
} catch (Exception e) {
|
||||||
|
GWT.log(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResize() {
|
/**
|
||||||
super.onResize();
|
* Load parent breadcrumb by item id.
|
||||||
GWT.log("on Resize...");
|
*
|
||||||
adjustSize();
|
* @param itemIdentifier the item identifier
|
||||||
|
* @param includeItemAsParent the include item as parent
|
||||||
|
*/
|
||||||
|
protected void loadParentBreadcrumbByItemId(final String itemIdentifier, boolean includeItemAsParent){
|
||||||
|
|
||||||
|
GWT.log("Reload Parent Breadcrumb: [Item id: "+itemIdentifier+"]");
|
||||||
|
|
||||||
|
WorkspaceExplorerController.workspaceNavigatorService.getBreadcrumbsByItemIdentifier(itemIdentifier, includeItemAsParent, new AsyncCallback<List<Item>>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
GWT.log(caught.getMessage());
|
||||||
|
wsExplorer.setAlert(caught.getMessage(), AlertType.ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(List<Item> result) {
|
||||||
|
if(result!=null){
|
||||||
|
breadcrumbs.setPath(result);
|
||||||
|
clearMoreInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear more info.
|
||||||
|
*/
|
||||||
|
private void clearMoreInfo(){
|
||||||
|
southPanel.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
// @Override
|
||||||
|
// public void onResize() {
|
||||||
|
// super.onResize();
|
||||||
|
// GWT.log("on Resize...");
|
||||||
|
// adjustSize();
|
||||||
|
// }
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see com.google.gwt.user.client.ui.Widget#onLoad()
|
* @see com.google.gwt.user.client.ui.Widget#onLoad()
|
||||||
*/
|
*/
|
||||||
|
@ -145,11 +208,19 @@ public class WorkspaceFolderExplorerSelectPanel extends ScrollPanel implements H
|
||||||
if(this.captionTxt!=null && !this.captionTxt.isEmpty())
|
if(this.captionTxt!=null && !this.captionTxt.isEmpty())
|
||||||
setTitle(this.captionTxt);
|
setTitle(this.captionTxt);
|
||||||
|
|
||||||
setWidth(WorkspaceExplorerConstants.WIDHT_DIALOG+"px");
|
setSize(200+"px", 200+"px");
|
||||||
|
add(breadcrumbs, DockPanel.NORTH);
|
||||||
|
|
||||||
|
// centerScrollable.setSize(width+"px", height);
|
||||||
setAlertConfirm("", false, null);
|
setAlertConfirm("", false, null);
|
||||||
|
|
||||||
mainVP.add(wsExplorer.getPanel());
|
mainVP.add(wsExplorer.getPanel());
|
||||||
mainVP.add(footerHP);
|
mainVP.add(footerHP);
|
||||||
add(mainVP);
|
centerScrollable.add(mainVP);
|
||||||
|
add(centerScrollable, DockPanel.CENTER);
|
||||||
|
|
||||||
|
southPanel.ensureDebugId("SouthPanelWEP");
|
||||||
|
add(footerHP, DockPanel.SOUTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,6 @@ package org.gcube.portlets.widgets.wsexplorer.client.view;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.event.BreadcrumbClickEvent;
|
import org.gcube.portlets.widgets.wsexplorer.client.event.BreadcrumbClickEvent;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||||
|
|
||||||
|
@ -14,6 +13,7 @@ import com.github.gwtbootstrap.client.ui.NavLink;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.uibinder.client.UiBinder;
|
import com.google.gwt.uibinder.client.UiBinder;
|
||||||
import com.google.gwt.uibinder.client.UiField;
|
import com.google.gwt.uibinder.client.UiField;
|
||||||
import com.google.gwt.user.client.ui.Composite;
|
import com.google.gwt.user.client.ui.Composite;
|
||||||
|
@ -33,6 +33,8 @@ public class Breadcrumbs extends Composite {
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
com.github.gwtbootstrap.client.ui.Breadcrumbs breadcrumbs;
|
com.github.gwtbootstrap.client.ui.Breadcrumbs breadcrumbs;
|
||||||
|
|
||||||
|
private HandlerManager eventBus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Interface BreadcrumbsUiBinder.
|
* The Interface BreadcrumbsUiBinder.
|
||||||
|
@ -46,8 +48,9 @@ public class Breadcrumbs extends Composite {
|
||||||
/**
|
/**
|
||||||
* Instantiates a new breadcrumbs.
|
* Instantiates a new breadcrumbs.
|
||||||
*/
|
*/
|
||||||
public Breadcrumbs() {
|
public Breadcrumbs(HandlerManager eventBus) {
|
||||||
initWidget(uiBinder.createAndBindUi(this));
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
|
this.eventBus = eventBus;
|
||||||
breadcrumbs.setDivider(DIVIDER);
|
breadcrumbs.setDivider(DIVIDER);
|
||||||
// init();
|
// init();
|
||||||
// initBreadcrumb(true);
|
// initBreadcrumb(true);
|
||||||
|
@ -109,7 +112,7 @@ public class Breadcrumbs extends Composite {
|
||||||
|
|
||||||
Item target = hashListItems.get(navLink.getName());
|
Item target = hashListItems.get(navLink.getName());
|
||||||
// WorkspaceExplorerController.eventBus.fireEvent(new LoadFolderEvent(target));
|
// WorkspaceExplorerController.eventBus.fireEvent(new LoadFolderEvent(target));
|
||||||
WorkspaceExplorerController.eventBus.fireEvent(new BreadcrumbClickEvent(target));
|
eventBus.fireEvent(new BreadcrumbClickEvent(target));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.dom.client.Style.Unit;
|
import com.google.gwt.dom.client.Style.Unit;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.uibinder.client.UiBinder;
|
import com.google.gwt.uibinder.client.UiBinder;
|
||||||
import com.google.gwt.uibinder.client.UiField;
|
import com.google.gwt.uibinder.client.UiField;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
|
@ -37,6 +38,8 @@ public class Navigation extends Composite{
|
||||||
@UiField
|
@UiField
|
||||||
NavWidget vre_folder;
|
NavWidget vre_folder;
|
||||||
|
|
||||||
|
private HandlerManager eventBus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Interface BreadcrumbsUiBinder.
|
* The Interface BreadcrumbsUiBinder.
|
||||||
*
|
*
|
||||||
|
@ -47,10 +50,12 @@ public class Navigation extends Composite{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param eventbus
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Navigation() {
|
public Navigation(HandlerManager eventBus) {
|
||||||
initWidget(uiBinder.createAndBindUi(this));
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
|
this.eventBus = eventBus;
|
||||||
getElement().getStyle().setMarginLeft(5.0, Unit.PX);
|
getElement().getStyle().setMarginLeft(5.0, Unit.PX);
|
||||||
home.setActive(true);
|
home.setActive(true);
|
||||||
|
|
||||||
|
@ -75,7 +80,7 @@ public class Navigation extends Composite{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
Navigation.this.eventBus.fireEvent(new LoadRootEvent());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -102,7 +107,7 @@ public class Navigation extends Composite{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadMySpecialFolderEvent());
|
Navigation.this.eventBus.fireEvent(new LoadMySpecialFolderEvent());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import com.github.gwtbootstrap.client.ui.Alert;
|
||||||
import com.github.gwtbootstrap.client.ui.constants.AlertType;
|
import com.github.gwtbootstrap.client.ui.constants.AlertType;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.dom.client.Style.Unit;
|
import com.google.gwt.dom.client.Style.Unit;
|
||||||
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.user.client.Window;
|
import com.google.gwt.user.client.Window;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
import com.google.gwt.user.client.ui.HTML;
|
||||||
|
@ -54,17 +55,22 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
||||||
protected ScrollPanel explorerPanel;
|
protected ScrollPanel explorerPanel;
|
||||||
private ItemsTable itTables;
|
private ItemsTable itTables;
|
||||||
private DISPLAY_FIELD[] displayFields;
|
private DISPLAY_FIELD[] displayFields;
|
||||||
|
private HandlerManager eventBus;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new workspace explorer.
|
* Instantiates a new workspace explorer.
|
||||||
*
|
*
|
||||||
|
* @param eventBus the event bus
|
||||||
* @param showableTypes the showable types
|
* @param showableTypes the showable types
|
||||||
* @param selectableTypes the selectable types
|
* @param selectableTypes the selectable types
|
||||||
|
* @param fields the fields
|
||||||
*/
|
*/
|
||||||
public WorkspaceExplorer(ItemType[] showableTypes, ItemType[] selectableTypes, DISPLAY_FIELD...fields) {
|
public WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes, DISPLAY_FIELD...fields) {
|
||||||
|
this.eventBus = eventBus;
|
||||||
setShowableTypes(showableTypes);
|
setShowableTypes(showableTypes);
|
||||||
setSelectableTypes(selectableTypes);
|
setSelectableTypes(selectableTypes);
|
||||||
itTables = new ItemsTable(true, fields);
|
itTables = new ItemsTable(eventBus, true, fields);
|
||||||
explorerPanel = new ScrollPanel();
|
explorerPanel = new ScrollPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,12 +78,14 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
||||||
/**
|
/**
|
||||||
* Instantiates a new workspace explorer.
|
* Instantiates a new workspace explorer.
|
||||||
*
|
*
|
||||||
|
* @param eventBus the event bus
|
||||||
* @param filterCriteria the filter criteria
|
* @param filterCriteria the filter criteria
|
||||||
* @param showableTypes the showable types
|
* @param showableTypes the showable types
|
||||||
* @param selectableTypes the selectable types
|
* @param selectableTypes the selectable types
|
||||||
|
* @param fields the fields
|
||||||
*/
|
*/
|
||||||
public WorkspaceExplorer(FilterCriteria filterCriteria, ItemType[] showableTypes, ItemType[] selectableTypes, DISPLAY_FIELD...fields) {
|
public WorkspaceExplorer(HandlerManager eventBus, FilterCriteria filterCriteria, ItemType[] showableTypes, ItemType[] selectableTypes, DISPLAY_FIELD...fields) {
|
||||||
this(showableTypes, selectableTypes, fields);
|
this(eventBus, showableTypes, selectableTypes, fields);
|
||||||
this.filterCriteria = filterCriteria;
|
this.filterCriteria = filterCriteria;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,7 +140,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSuccess(Item item) {
|
public void onSuccess(Item item) {
|
||||||
WorkspaceExplorerController.eventBus.fireEvent(new RootLoadedEvent(item));
|
eventBus.fireEvent(new RootLoadedEvent(item));
|
||||||
updateExplorer(item.getChildren());
|
updateExplorer(item.getChildren());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,6 +257,8 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Gets the display fields.
|
||||||
|
*
|
||||||
* @return the displayFields
|
* @return the displayFields
|
||||||
*/
|
*/
|
||||||
public DISPLAY_FIELD[] getDisplayFields() {
|
public DISPLAY_FIELD[] getDisplayFields() {
|
||||||
|
@ -257,6 +267,8 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Sets the display fields.
|
||||||
|
*
|
||||||
* @param displayFields the displayFields to set
|
* @param displayFields the displayFields to set
|
||||||
*/
|
*/
|
||||||
public void setDisplayFields(DISPLAY_FIELD[] displayFields) {
|
public void setDisplayFields(DISPLAY_FIELD[] displayFields) {
|
||||||
|
|
|
@ -2,7 +2,6 @@ package org.gcube.portlets.widgets.wsexplorer.client.view.grid;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.event.ClickItemEvent;
|
import org.gcube.portlets.widgets.wsexplorer.client.event.ClickItemEvent;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.CellTableResources;
|
import org.gcube.portlets.widgets.wsexplorer.client.resources.CellTableResources;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||||
|
@ -16,6 +15,7 @@ import com.google.gwt.event.dom.client.ContextMenuEvent;
|
||||||
import com.google.gwt.event.dom.client.ContextMenuHandler;
|
import com.google.gwt.event.dom.client.ContextMenuHandler;
|
||||||
import com.google.gwt.event.dom.client.DoubleClickEvent;
|
import com.google.gwt.event.dom.client.DoubleClickEvent;
|
||||||
import com.google.gwt.event.dom.client.DoubleClickHandler;
|
import com.google.gwt.event.dom.client.DoubleClickHandler;
|
||||||
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.user.cellview.client.AbstractCellTable;
|
import com.google.gwt.user.cellview.client.AbstractCellTable;
|
||||||
import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;
|
import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;
|
||||||
import com.google.gwt.user.cellview.client.SimplePager;
|
import com.google.gwt.user.cellview.client.SimplePager;
|
||||||
|
@ -40,6 +40,7 @@ public abstract class AbstractItemsCellTable {
|
||||||
protected Item itemContextMenu = null;
|
protected Item itemContextMenu = null;
|
||||||
protected boolean showMoreInfo;
|
protected boolean showMoreInfo;
|
||||||
protected final SingleSelectionModel<Item> ssm;
|
protected final SingleSelectionModel<Item> ssm;
|
||||||
|
private final HandlerManager eventBus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inits the table.
|
* Inits the table.
|
||||||
|
@ -54,12 +55,16 @@ public abstract class AbstractItemsCellTable {
|
||||||
public abstract void initTable(AbstractCellTable<Item> ItemTable, final SimplePager pager, final Pagination pagination);
|
public abstract void initTable(AbstractCellTable<Item> ItemTable, final SimplePager pager, final Pagination pagination);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new abstract items cell table.
|
* Instantiates a new abstract items cell table.
|
||||||
*
|
*
|
||||||
* @param fireMoreInfo the fire more info
|
* @param eventBus the event bus
|
||||||
|
* @param fireOnClick the fire on click
|
||||||
*/
|
*/
|
||||||
public AbstractItemsCellTable(boolean fireOnClick) {
|
public AbstractItemsCellTable(HandlerManager eventBus, boolean fireOnClick) {
|
||||||
|
this.eventBus = eventBus;
|
||||||
this.showMoreInfo = fireOnClick;
|
this.showMoreInfo = fireOnClick;
|
||||||
cellTable = new CellTable<Item>(1, CellTableResources.INSTANCE);
|
cellTable = new CellTable<Item>(1, CellTableResources.INSTANCE);
|
||||||
cellTable.addStyleName("table-overflow");
|
cellTable.addStyleName("table-overflow");
|
||||||
|
@ -81,7 +86,7 @@ public abstract class AbstractItemsCellTable {
|
||||||
GWT.log("Clicked: "+selectedObject);
|
GWT.log("Clicked: "+selectedObject);
|
||||||
// selectedItem(selectedObject);
|
// selectedItem(selectedObject);
|
||||||
if(showMoreInfo)
|
if(showMoreInfo)
|
||||||
WorkspaceExplorerController.eventBus.fireEvent(new ClickItemEvent(selectedObject));
|
AbstractItemsCellTable.this.eventBus.fireEvent(new ClickItemEvent(selectedObject));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -93,7 +98,7 @@ public abstract class AbstractItemsCellTable {
|
||||||
Item selected = ssm.getSelectedObject();
|
Item selected = ssm.getSelectedObject();
|
||||||
if (selected != null) {
|
if (selected != null) {
|
||||||
GWT.log("Double Click: "+selected);
|
GWT.log("Double Click: "+selected);
|
||||||
WorkspaceExplorerController.eventBus.fireEvent(new org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEvent(selected));
|
AbstractItemsCellTable.this.eventBus.fireEvent(new org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEvent(selected));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -124,7 +129,7 @@ public abstract class AbstractItemsCellTable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
WorkspaceExplorerController.eventBus.fireEvent(new org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEvent(itemContextMenu));
|
AbstractItemsCellTable.this.eventBus.fireEvent(new org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEvent(itemContextMenu));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ import com.google.gwt.cell.client.ButtonCell;
|
||||||
import com.google.gwt.cell.client.Cell.Context;
|
import com.google.gwt.cell.client.Cell.Context;
|
||||||
import com.google.gwt.cell.client.ImageResourceCell;
|
import com.google.gwt.cell.client.ImageResourceCell;
|
||||||
import com.google.gwt.dom.client.Style.Unit;
|
import com.google.gwt.dom.client.Style.Unit;
|
||||||
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.resources.client.ImageResource;
|
import com.google.gwt.resources.client.ImageResource;
|
||||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||||
|
@ -46,9 +47,10 @@ public class ItemsTable extends AbstractItemsCellTable implements SelectionItem{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new items table.
|
* Instantiates a new items table.
|
||||||
|
* @param eventBus
|
||||||
*/
|
*/
|
||||||
public ItemsTable(boolean showMoreInfo, DISPLAY_FIELD[] fields) {
|
public ItemsTable(HandlerManager eventBus, boolean showMoreInfo, DISPLAY_FIELD[] fields) {
|
||||||
super(showMoreInfo);
|
super(eventBus, showMoreInfo);
|
||||||
setDisplayFields(fields);
|
setDisplayFields(fields);
|
||||||
initTable(cellTable, null, null);
|
initTable(cellTable, null, null);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue