bug fixed: path panel
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@69212 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
0a1567cf8f
commit
eb6414f5f1
|
@ -472,25 +472,55 @@ public class AppController implements SubscriberInterface {
|
|||
|
||||
|
||||
if(isSelected){
|
||||
ArrayList<FileModel> listParents = appContrExplorer.getListParentsByIdentifier(target.getIdentifier());
|
||||
FileModel lastParent = this.wsPortlet.getToolBarPath().getLastParent();
|
||||
|
||||
boolean parentChanged = lastParent.getIdentifier().compareTo(target.getParentFileModel().getIdentifier())==0?false:true;
|
||||
|
||||
//RELOAD breadcrumb only if last parent id is changed
|
||||
if(parentChanged)
|
||||
loadBreadcrumbById(target.getIdentifier());
|
||||
|
||||
setPathInView(listParents); //Set file path in tab panel on current item selected
|
||||
// if(!(lastParent.getIdentifier().compareTo(target.getIdentifier())==0))
|
||||
// loadBreadcrumbById(target.getIdentifier());
|
||||
|
||||
// List<FileModel> listParents = appContrExplorer.getListParentsByIdentifierFromTree(target.getIdentifier());
|
||||
|
||||
|
||||
if(isSearchActive){ //COMMENTED 30-01-12 - syncronization only if search is active
|
||||
|
||||
wsPortlet.getSearchAndFilterContainer().setSearchActive(true);
|
||||
|
||||
appContrExplorer.searching(true);
|
||||
|
||||
appContrExplorer.findItemAndSelectItemInTree(target.getIdentifier());
|
||||
}
|
||||
// if(isSearchActive){ //COMMENTED 30-01-12 - syncronization only if search is active
|
||||
//
|
||||
// wsPortlet.getSearchAndFilterContainer().setSearchActive(true);
|
||||
//
|
||||
// appContrExplorer.searching(true);
|
||||
//
|
||||
// appContrExplorer.findItemAndSelectItemInTree(target.getIdentifier());
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void loadBreadcrumbById(String itemIdentifier){
|
||||
|
||||
System.out.println("Reload Breadcrumb...");
|
||||
|
||||
AppControllerExplorer.rpcWorkspaceService.getListParentsByItemIdentifier(itemIdentifier, new AsyncCallback<List<FileModel>>() {
|
||||
|
||||
private void setPathInView(ArrayList<FileModel> parents){
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
GWT.log("failure get list parents by item identifier "+caught);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<FileModel> result) {
|
||||
setPathInView(result); //Set file path in tab panel on current item selected
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void setPathInView(List<FileModel> parents){
|
||||
|
||||
//this.wsPortlet.getBasicTabContainer().setLabelPath(path); //Set path in tab view panel
|
||||
|
||||
|
@ -649,7 +679,7 @@ public class AppController implements SubscriberInterface {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void selectedItem(FileModel item, ArrayList<FileModel> parents) {
|
||||
public void selectedItem(FileModel item, List<FileModel> parents) {
|
||||
|
||||
FileModel currentFolder = wsPortlet.getGridGroupContainer().getCurrentFolderView();
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package org.gcube.portlets.user.workspace.client.view.toolbars;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.gcube.portlets.user.workspace.client.AppController;
|
||||
import org.gcube.portlets.user.workspace.client.event.PathElementSelectedEvent;
|
||||
|
@ -27,10 +28,12 @@ public class GxtPathPanel {
|
|||
|
||||
private HorizontalPanel toolBar = new HorizontalPanel();
|
||||
private Text txtPath = new Text("PATH ");
|
||||
private LinkedHashMap<String, FileModel> hashFileModel; // Ordered-HashMap
|
||||
private LinkedHashMap<String, FileModel> hashFileModel = new LinkedHashMap<String, FileModel>();// Ordered-HashMap
|
||||
boolean rootAdded = false;
|
||||
WidgetComponent hardDiskIcon = new WidgetComponent(new Image (Resources.getImageHardDisk()));
|
||||
|
||||
private FileModel lastParent;
|
||||
|
||||
public GxtPathPanel() {
|
||||
toolBar = new HorizontalPanel();
|
||||
toolBar.setHeight("25px");
|
||||
|
@ -41,7 +44,7 @@ public class GxtPathPanel {
|
|||
return toolBar;
|
||||
}
|
||||
|
||||
public void setPath(ArrayList<FileModel> parents) {
|
||||
public void setPath(List<FileModel> parents) {
|
||||
|
||||
initToolbarWithoutFakeRoot();
|
||||
|
||||
|
@ -90,11 +93,26 @@ public class GxtPathPanel {
|
|||
toolBar.add(new WidgetComponent(new Image(Resources.getImagePathSeparator())));
|
||||
|
||||
}
|
||||
|
||||
lastParent = parents.get(parents.size()-1);
|
||||
|
||||
toolBar.add(listButtons.get(size - 1)); // Add last element
|
||||
toolBar.layout(true);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean breadcrumbIsEmpty(){
|
||||
|
||||
if(hashFileModel.size() == 0)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
public FileModel getLastParent(){
|
||||
return lastParent;
|
||||
}
|
||||
|
||||
private void initToolbar() {
|
||||
toolBar.removeAll();
|
||||
|
|
Loading…
Reference in New Issue