256: Workspace explorer

Task-Url: https://support.d4science.org/issues/256

Updated selectable and showable types

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@115619 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2015-06-29 14:45:09 +00:00
parent 140cf9ce2c
commit 9e5c9b538a
4 changed files with 56 additions and 14 deletions

View File

@ -50,6 +50,10 @@ public class WorkspaceExplorerController implements EventHandler {
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation);
}
public void loadRoot(){
wsExplorer.loadRoot();
}
/**
* Bind events.
*/

View File

@ -13,13 +13,14 @@ import org.gcube.portlets.widgets.wsexplorer.client.notification.WorskpaceExplor
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
import com.github.gwtbootstrap.client.ui.Button;
import com.github.gwtbootstrap.client.ui.Modal;
import com.github.gwtbootstrap.client.ui.ModalFooter;
import com.github.gwtbootstrap.client.ui.constants.ButtonType;
import com.github.gwtbootstrap.client.ui.event.HideEvent;
import com.github.gwtbootstrap.client.ui.event.HideHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
@ -33,7 +34,7 @@ import com.google.gwt.user.client.ui.Button;
*/
public class WorkspaceExplorerLoadDialog extends Modal implements HasWorskpaceExplorerNotificationListener{
private Button openButton;
private Button selectButton;
private WorkspaceExplorerLoadDialog INSTANCE = this;
private boolean isSelect = false;
private String captionTxt;
@ -49,13 +50,23 @@ public class WorkspaceExplorerLoadDialog extends Modal implements HasWorskpaceEx
* Add {@link WorskpaceExplorerNotificationListener} to receive events
*/
public WorkspaceExplorerLoadDialog(String captionTxt) {
controller.loadRoot();
initDialog(captionTxt);
}
/**
* Inits the dialog.
*
* @param captionTxt the caption txt
*/
private void initDialog(String captionTxt) {
this.captionTxt = (captionTxt==null || captionTxt.isEmpty())?WorkspaceExplorerConstants.WORKSPACE_EXPLORER_CAPTION:captionTxt;
// setText(this.captionTxt);
setAnimation(false);
setCloseVisible(true);
setTitle(this.captionTxt);
openButton = new Button("Open");
selectButton = new Button("Select");
selectButton.setType(ButtonType.PRIMARY);
setWidth(710);
// setHeight("650px");
setMaxHeigth("500px");
@ -93,6 +104,8 @@ public class WorkspaceExplorerLoadDialog extends Modal implements HasWorskpaceEx
//
// dock.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
// dock.setWidth("100%");
add(controller.getWorkspaceExplorerPanel());
// okButton.addClickHandler(new ClickHandler() {
@ -102,7 +115,7 @@ public class WorkspaceExplorerLoadDialog extends Modal implements HasWorskpaceEx
//
// }
// });
openButton.addClickHandler(new ClickHandler() {
selectButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
@ -117,11 +130,39 @@ public class WorkspaceExplorerLoadDialog extends Modal implements HasWorskpaceEx
}
});
footer.add(openButton);
footer.add(selectButton);
add(footer);
}
/**
* Instantiates a new workspace explorer load dialog.
*
* @param captionTxt captionTxt sets the text inside the caption, if null sets "Workspace Explorer"
* @param selectableTypes the selectable types
* @param showableTypes the showable types
*
* Add {@link WorskpaceExplorerNotificationListener} to receive events
*/
public WorkspaceExplorerLoadDialog(String captionTxt, List<ItemType> selectableTypes, List<ItemType> showableTypes) {
if(selectableTypes!=null){
ItemType[] itemsType = new ItemType[selectableTypes.size()];
itemsType = selectableTypes.toArray(itemsType);
setSelectableTypes(selectableTypes.toArray(itemsType));
}
if(showableTypes!=null){
ItemType[] itemsType = new ItemType[showableTypes.size()];
itemsType = showableTypes.toArray(itemsType);
setShowableTypes(showableTypes.toArray(itemsType));
}
controller.loadRoot();
initDialog(captionTxt);
}
/**
* Notify selected item.
*
@ -149,6 +190,7 @@ public class WorkspaceExplorerLoadDialog extends Modal implements HasWorskpaceEx
*
* @param t the t
*/
@SuppressWarnings("unused")
private void notifyFailed(Throwable t){
for (WorskpaceExplorerNotificationListener worskpaceExplorerNotificationListener : listeners) {
@ -208,7 +250,7 @@ public class WorkspaceExplorerLoadDialog extends Modal implements HasWorskpaceEx
* Set which items are selectable.
* @param selectableTypes the selectableTypes to set
*/
public void setSelectableTypes(ItemType ... selectableTypes) {
private void setSelectableTypes(ItemType ... selectableTypes) {
controller.setSelectableTypes(selectableTypes);
}
@ -234,7 +276,7 @@ public class WorkspaceExplorerLoadDialog extends Modal implements HasWorskpaceEx
* Set the showable items. The folders items are show as default.
* @param showableTypes the showableTypes to set
*/
public void setShowableTypes(ItemType ... showableTypes) {
private void setShowableTypes(ItemType ... showableTypes) {
controller.setShowableTypes(showableTypes);
}
}

View File

@ -69,10 +69,6 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
explorerPanel = new ScrollPanel();
}
public void loadItems(){
loadRoot();
}
/**
* Set the panel in loading mode.

View File

@ -12,8 +12,8 @@ package org.gcube.portlets.widgets.wsexplorer.shared;
*/
public enum ItemType {
ROOT,
FOLDER,
ROOT, //MANDATORY
FOLDER, //MANDATORY
EXTERNAL_IMAGE,
EXTERNAL_FILE,
EXTERNAL_PDF_FILE,