256: Workspace explorer
Task-Url: https://support.d4science.org/issues/256 Added events: LoadFolder, LoadRoot git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@115548 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
7946490b18
commit
fdb64715a6
|
@ -0,0 +1,95 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.portlets.widgets.wsexplorer.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
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.event.LoadRootEvent;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEventHandler;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerService;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerServiceAsync;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.Breadcrumbs;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.Navigation;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
import com.google.gwt.event.shared.HandlerManager;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* Jun 25, 2015
|
||||
*/
|
||||
public class WorkspaceExplorerController implements EventHandler{
|
||||
|
||||
public final static HandlerManager eventBus = new HandlerManager(null);
|
||||
private WorkspaceExplorerPanel workspaceExplorerPanel;
|
||||
private WorkspaceExplorer wsExplorer = new WorkspaceExplorer();
|
||||
private Breadcrumbs breadcrumbs = new Breadcrumbs();
|
||||
private Navigation navigation = new Navigation();
|
||||
public static final WorkspaceExplorerServiceAsync workspaceNavigatorService = GWT.create(WorkspaceExplorerService.class);
|
||||
|
||||
public WorkspaceExplorerController(){
|
||||
bindEvents();
|
||||
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getExplorerPanel(), breadcrumbs, navigation);
|
||||
}
|
||||
|
||||
private void bindEvents() {
|
||||
|
||||
eventBus.addHandler(LoadFolderEvent.TYPE, new LoadFolderEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onLoadFolder(LoadFolderEvent loadFolderEvent) {
|
||||
|
||||
if(loadFolderEvent.getTargetItem()!=null){
|
||||
wsExplorer.loadFolder(loadFolderEvent.getTargetItem());
|
||||
loadParentBreadcrumbByItemId(loadFolderEvent.getTargetItem().getId(), true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
eventBus.addHandler(LoadRootEvent.TYPE, new LoadRootEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onLoadRoot(LoadRootEvent loadRootEvent) {
|
||||
|
||||
wsExplorer.loadTree();
|
||||
breadcrumbs.reset();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void loadParentBreadcrumbByItemId(final String itemIdentifier, boolean includeItemAsParent){
|
||||
|
||||
GWT.log("Reload Parent Breadcrumb: [Item id: "+itemIdentifier+"]");
|
||||
|
||||
workspaceNavigatorService.getListParentsByItemIdentifier(itemIdentifier, includeItemAsParent, new AsyncCallback<List<Item>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<Item> result) {
|
||||
if(result!=null)
|
||||
breadcrumbs.setPath(result);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the workspaceExplorerPanel
|
||||
*/
|
||||
public WorkspaceExplorerPanel getWorkspaceExplorerPanel() {
|
||||
return workspaceExplorerPanel;
|
||||
}
|
||||
}
|
|
@ -3,10 +3,7 @@
|
|||
*/
|
||||
package org.gcube.portlets.widgets.wsexplorer.client;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.Breadcrumbs;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.Navigation;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer;
|
||||
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.DockPanel;
|
||||
import com.google.gwt.user.client.ui.ScrollPanel;
|
||||
|
||||
|
@ -25,13 +22,16 @@ public class WorkspaceExplorerPanel extends DockPanel{
|
|||
|
||||
private ScrollPanel westPanel = new ScrollPanel();
|
||||
private ScrollPanel centerScrollable = new ScrollPanel();
|
||||
private Breadcrumbs breadcrumbs = new Breadcrumbs();
|
||||
private Navigation navigation = new Navigation();
|
||||
private WorkspaceExplorer wsExplorer = new WorkspaceExplorer();
|
||||
|
||||
/**
|
||||
* Instantiates a new split panel.
|
||||
* Instantiates a new workspace explorer panel.
|
||||
*
|
||||
* @param splitterSize the splitter size
|
||||
* @param wsExplorer the ws explorer
|
||||
* @param breadcrumbs the breadcrumbs
|
||||
* @param navigation the navigation
|
||||
*/
|
||||
public WorkspaceExplorerPanel(int splitterSize) {
|
||||
public WorkspaceExplorerPanel(int splitterSize, ScrollPanel wsExplorer, Composite breadcrumbs, Composite navigation) {
|
||||
// setStyleName("cw-DockPanel");
|
||||
ensureDebugId("WorkspaceNavigatorPanel");
|
||||
setSpacing(4);
|
||||
|
@ -44,11 +44,13 @@ public class WorkspaceExplorerPanel extends DockPanel{
|
|||
add(westPanel, DockPanel.WEST);
|
||||
|
||||
centerScrollable.setSize(width+"px", height+"px");
|
||||
centerScrollable.add(wsExplorer.getExplorerPanel());
|
||||
centerScrollable.add(wsExplorer);
|
||||
add(centerScrollable, DockPanel.CENTER);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the west panel.
|
||||
*
|
||||
* @return the westPanel
|
||||
*/
|
||||
public ScrollPanel getWestPanel() {
|
||||
|
@ -56,6 +58,8 @@ public class WorkspaceExplorerPanel extends DockPanel{
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the center scrollable.
|
||||
*
|
||||
* @return the centerScrollable
|
||||
*/
|
||||
public ScrollPanel getCenterScrollable() {
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.event;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
|
||||
import com.google.gwt.event.shared.GwtEvent;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* The Class DoubleClickEvent.
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* Jun 25, 2015
|
||||
*/
|
||||
public class LoadFolderEvent extends GwtEvent<LoadFolderEventHandler> {
|
||||
public static Type<LoadFolderEventHandler> TYPE = new Type<LoadFolderEventHandler>();
|
||||
private Item targetItem;
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new double click event.
|
||||
*
|
||||
* @param target the target
|
||||
*/
|
||||
public LoadFolderEvent(Item target) {
|
||||
this.targetItem = target;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.google.gwt.event.shared.GwtEvent#getAssociatedType()
|
||||
*/
|
||||
@Override
|
||||
public Type<LoadFolderEventHandler> getAssociatedType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.google.gwt.event.shared.GwtEvent#dispatch(com.google.gwt.event.shared.EventHandler)
|
||||
*/
|
||||
@Override
|
||||
protected void dispatch(LoadFolderEventHandler handler) {
|
||||
handler.onLoadFolder(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the targetItem
|
||||
*/
|
||||
public Item getTargetItem() {
|
||||
return targetItem;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param targetItem the targetItem to set
|
||||
*/
|
||||
public void setTargetItem(Item targetItem) {
|
||||
this.targetItem = targetItem;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.event;
|
||||
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* @May 23, 2013
|
||||
*
|
||||
*/
|
||||
public interface LoadFolderEventHandler extends EventHandler {
|
||||
/**
|
||||
* @param accountingHistoryEvent
|
||||
*/
|
||||
void onLoadFolder(LoadFolderEvent loadFolderEvent);
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.event;
|
||||
|
||||
import com.google.gwt.event.shared.GwtEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class LoadRootEvent extends GwtEvent<LoadRootEventHandler> {
|
||||
|
||||
public static Type<LoadRootEventHandler> TYPE = new Type<LoadRootEventHandler>();
|
||||
|
||||
/**
|
||||
* Instantiates a new double click event.
|
||||
*
|
||||
* @param target the target
|
||||
*/
|
||||
public LoadRootEvent() {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.google.gwt.event.shared.GwtEvent#getAssociatedType()
|
||||
*/
|
||||
@Override
|
||||
public Type<LoadRootEventHandler> getAssociatedType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.google.gwt.event.shared.GwtEvent#dispatch(com.google.gwt.event.shared.EventHandler)
|
||||
*/
|
||||
@Override
|
||||
protected void dispatch(LoadRootEventHandler handler) {
|
||||
handler.onLoadRoot(this);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.event;
|
||||
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
|
||||
|
||||
/**
|
||||
* The Interface LoadRootEventHandler.
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* Jun 25, 2015
|
||||
*/
|
||||
public interface LoadRootEventHandler extends EventHandler {
|
||||
|
||||
/**
|
||||
* On load root.
|
||||
*
|
||||
* @param loadRootEvent the load root event
|
||||
*/
|
||||
void onLoadRoot(LoadRootEvent loadRootEvent);
|
||||
}
|
|
@ -2,6 +2,7 @@ package org.gcube.portlets.widgets.wsexplorer.client.grid;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.CellTableResources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
|
||||
|
@ -27,7 +28,6 @@ public abstract class AbstractItemsCellTable {
|
|||
|
||||
protected CellTable<Item> cellTable;
|
||||
protected ListDataProvider<Item> dataProvider = new ListDataProvider<Item>();
|
||||
protected boolean showGroupId;
|
||||
|
||||
/**
|
||||
* Inits the table.
|
||||
|
@ -48,14 +48,13 @@ public abstract class AbstractItemsCellTable {
|
|||
* @param showGroupId
|
||||
* the show group id
|
||||
*/
|
||||
public AbstractItemsCellTable(boolean showGroupId) {
|
||||
this.showGroupId = showGroupId;
|
||||
public AbstractItemsCellTable() {
|
||||
cellTable = new CellTable<Item>(1, CellTableResources.INSTANCE);
|
||||
cellTable.addStyleName("table-overflow");
|
||||
cellTable.setStriped(true);
|
||||
cellTable.setBordered(true);
|
||||
// cellTable.setCondensed(true);
|
||||
cellTable.setWidth("98%", true);
|
||||
cellTable.setWidth("99%", true);
|
||||
dataProvider.addDataDisplay(cellTable);
|
||||
initTable(cellTable, null, null);
|
||||
cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
|
||||
|
@ -78,6 +77,7 @@ public abstract class AbstractItemsCellTable {
|
|||
Item selected = ssm.getSelectedObject();
|
||||
if (selected != null) {
|
||||
GWT.log("Double Click: "+selected);
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEvent(selected));
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -149,15 +149,6 @@ public abstract class AbstractItemsCellTable {
|
|||
return dataProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if is show group id.
|
||||
*
|
||||
* @return true, if is show group id
|
||||
*/
|
||||
public boolean isShowGroupId() {
|
||||
return showGroupId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the data provider.
|
||||
*
|
||||
|
@ -167,14 +158,4 @@ public abstract class AbstractItemsCellTable {
|
|||
public void setDataProvider(ListDataProvider<Item> dataProvider) {
|
||||
this.dataProvider = dataProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the show group id.
|
||||
*
|
||||
* @param showGroupId
|
||||
* the new show group id
|
||||
*/
|
||||
public void setShowGroupId(boolean showGroupId) {
|
||||
this.showGroupId = showGroupId;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,13 +39,12 @@ public class ItemsTable extends AbstractItemsCellTable{
|
|||
private Column<Item, ImageResource> icon;
|
||||
private TextColumn<Item> name;
|
||||
private TextColumn<Item> owner;
|
||||
|
||||
/**
|
||||
* Instantiates a new packages table.
|
||||
*
|
||||
* @param showGroupId the show group id
|
||||
* Instantiates a new items table.
|
||||
*/
|
||||
public ItemsTable(boolean showGroupId) {
|
||||
super(showGroupId);
|
||||
public ItemsTable() {
|
||||
super();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.load;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerPanel;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
||||
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
|
@ -24,16 +24,12 @@ import com.google.gwt.user.client.ui.HorizontalPanel;
|
|||
*/
|
||||
public class WorkspaceExplorerLoadDialog extends DialogBox implements ClickHandler {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
private Button cancel;
|
||||
private WorkspaceExplorerLoadDialog INSTANCE = this;
|
||||
private boolean isValidHide;
|
||||
private String captionTxt;
|
||||
private WorkspaceExplorerPanel wsp = new WorkspaceExplorerPanel(5);
|
||||
|
||||
private WorkspaceExplorerController controller = new WorkspaceExplorerController();
|
||||
|
||||
/**
|
||||
* Instantiates a new worspace navigator dialog.
|
||||
*
|
||||
|
@ -63,7 +59,7 @@ public class WorkspaceExplorerLoadDialog extends DialogBox implements ClickHandl
|
|||
hp.add(cancel);
|
||||
dock.add(hp, DockPanel.SOUTH);
|
||||
|
||||
dock.add(wsp, DockPanel.CENTER);
|
||||
dock.add(controller.getWorkspaceExplorerPanel(), DockPanel.CENTER);
|
||||
|
||||
dock.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
|
||||
dock.setWidth("100%");
|
||||
|
|
|
@ -3,7 +3,7 @@ package org.gcube.portlets.widgets.wsexplorer.client.resources;
|
|||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
|
||||
public interface Icons extends ClientBundle {
|
||||
public interface WorkspaceExplorerIcons extends ClientBundle {
|
||||
|
||||
@Source("cancel.png")
|
||||
ImageResource cancel();
|
|
@ -7,9 +7,9 @@ import com.google.gwt.user.client.ui.AbstractImagePrototype;
|
|||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
*
|
||||
*/
|
||||
public class Resources {
|
||||
public class WorkspaceExplorerResources {
|
||||
|
||||
public static final Icons ICONS = GWT.create(Icons.class);
|
||||
public static final WorkspaceExplorerIcons ICONS = GWT.create(WorkspaceExplorerIcons.class);
|
||||
|
||||
public static AbstractImagePrototype getIconCancel() {
|
||||
|
|
@ -69,10 +69,10 @@ public interface WorkspaceExplorerServiceAsync {
|
|||
*
|
||||
* @param itemIdentifier the item identifier
|
||||
* @param includeItemAsParent the include item as parent
|
||||
* @param callback the callback
|
||||
* @param asyncCallback the callback
|
||||
* @return the list parents by item identifier
|
||||
*/
|
||||
public void getListParentsByItemIdentifier(String itemIdentifier,
|
||||
boolean includeItemAsParent, AsyncCallback<List<Item>> callback);
|
||||
boolean includeItemAsParent, AsyncCallback<List<Item>> asyncCallback);
|
||||
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ public class Breadcrumbs extends Composite {
|
|||
public Breadcrumbs() {
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
breadcrumbs.setDivider(DIVIDER);
|
||||
initBreadcrumbs();
|
||||
breadcrumbs.add(new NavLink("/"));
|
||||
// initBreadcrumb(true);
|
||||
this.addStyleName("breadcrumbs-navigator");
|
||||
}
|
||||
|
@ -78,8 +78,6 @@ public class Breadcrumbs extends Composite {
|
|||
*/
|
||||
private void initBreadcrumbs() {
|
||||
breadcrumbs.clear();
|
||||
breadcrumbs.add(new NavLink(""));// INIT
|
||||
breadcrumbs.add(new NavLink("Home"));
|
||||
}
|
||||
|
||||
// @UiHandler("add")
|
||||
|
@ -132,4 +130,11 @@ public class Breadcrumbs extends Composite {
|
|||
return lastParent;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void reset() {
|
||||
initBreadcrumbs();
|
||||
}
|
||||
|
||||
}
|
|
@ -6,18 +6,15 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.grid.ItemsTable;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.Resources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.old.WorkspaceLightTreeResources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerService;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerServiceAsync;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerResources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
|
@ -29,10 +26,10 @@ import com.google.gwt.user.client.ui.ScrollPanel;
|
|||
*/
|
||||
public class WorkspaceExplorer {
|
||||
|
||||
private final WorkspaceExplorerServiceAsync workspaceNavigatorService = GWT.create(WorkspaceExplorerService.class);
|
||||
protected static final HorizontalPanel LOADING_PANEL = new HorizontalPanel();
|
||||
protected static final Image LOADING_IMAGE = Resources.getIconLoading().createImage();
|
||||
|
||||
protected static final HorizontalPanel LOADING_PANEL = new HorizontalPanel();
|
||||
protected static final Image LOADING_IMAGE = WorkspaceExplorerResources.getIconLoading().createImage();
|
||||
|
||||
static {
|
||||
LOADING_PANEL.getElement().getStyle().setMargin(5.0, Unit.PX);
|
||||
// LOADING_PANEL.setSpacing(3);
|
||||
|
@ -99,36 +96,66 @@ public class WorkspaceExplorer {
|
|||
|
||||
GWT.log("loading workspace tree from server");
|
||||
|
||||
workspaceNavigatorService.getRoot(showableTypesParam, purgeEmpyFolders,
|
||||
filterCriteria, new AsyncCallback<Item>() {
|
||||
WorkspaceExplorerController.workspaceNavigatorService.getRoot(showableTypesParam, purgeEmpyFolders, filterCriteria, new AsyncCallback<Item>() {
|
||||
|
||||
|
||||
public void onFailure(Throwable caught) {
|
||||
GWT.log("Error loading workspace tree from server",
|
||||
caught);
|
||||
// showErrorPanel(caught);
|
||||
// DataLoadEvent.fireLoadDataFailed(WorkspaceLightTreePanel.this,
|
||||
// caught);
|
||||
}
|
||||
public void onFailure(Throwable caught) {
|
||||
GWT.log("Error loading workspace tree from server",
|
||||
caught);
|
||||
}
|
||||
|
||||
public void onSuccess(Item item) {
|
||||
GWT.log("workspace tree retrieved.");
|
||||
// tree.setRootItem(root);
|
||||
public void onSuccess(Item item) {
|
||||
GWT.log("workspace tree retrieved.");
|
||||
// then we remove the loading icon
|
||||
explorerPanel.clear();
|
||||
ItemsTable itTables = new ItemsTable();
|
||||
itTables.addItems(item.getChildren());
|
||||
explorerPanel.add(itTables.getCellTable());
|
||||
GWT.log("workspace tree loaded");
|
||||
}
|
||||
|
||||
// we select the root
|
||||
// tree.selectItem(root.getId());
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the Workspace Tree.
|
||||
*/
|
||||
public void loadFolder(Item item) {
|
||||
GWT.log("loading folder data");
|
||||
setLoading();
|
||||
|
||||
if(item.isFolder()){
|
||||
// we make a copy of showable types
|
||||
List<ItemType> showableTypesParam = new ArrayList<ItemType>(showableTypes);
|
||||
|
||||
// then we remove the loading icon
|
||||
explorerPanel.clear();
|
||||
ItemsTable itTables = new ItemsTable(false);
|
||||
itTables.addItems(item.getChildren());
|
||||
explorerPanel.add(itTables.getCellTable());
|
||||
// we get sure that folders are displayed
|
||||
for (ItemType folder : Util.FOLDERS) {
|
||||
if (!showableTypesParam.contains(folder))
|
||||
showableTypesParam.add(folder);
|
||||
}
|
||||
|
||||
GWT.log("workspace tree loaded");
|
||||
// DataLoadEvent.fireLoadDataSuccess(WorkspaceLightTreePanel.this);
|
||||
}
|
||||
boolean purgeEmpyFolders = !showEmptyFolders;
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties);
|
||||
|
||||
});
|
||||
GWT.log("loading workspace tree from server");
|
||||
WorkspaceExplorerController.workspaceNavigatorService.getFolder(item.getId(), showableTypesParam, purgeEmpyFolders, filterCriteria, new AsyncCallback<Item>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
GWT.log("Error loading workspace folder from server",
|
||||
caught);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Item result) {
|
||||
GWT.log("workspace folder retrieved.");
|
||||
explorerPanel.clear();
|
||||
ItemsTable itTables = new ItemsTable();
|
||||
itTables.addItems(result.getChildren());
|
||||
explorerPanel.add(itTables.getCellTable());
|
||||
GWT.log("workspace folder loaded");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue