diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java index 8afa6b7..c9746ff 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java @@ -181,16 +181,18 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt private boolean selectRootItem; private FileUploader fileUploader; public static String myLogin; + + private static AppControllerExplorer singleton; public AppControllerExplorer() { Registry.register(ConstantsExplorer.RPC_WORKSPACE_SERVICE, rpcWorkspaceService); subscribers = new HashMap>(); bind(); - + singleton = this; } - public AppControllerExplorer getInstance() { - return this; + public static AppControllerExplorer getInstance() { + return singleton; } public static HandlerManager getEventBus() { @@ -1633,45 +1635,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt public void onClickUrl(OpenUrlEvent openUrlEvent) { doClickUrl(openUrlEvent); - } - - private void doClickUrl(OpenUrlEvent openUrlEvent) { - - final FileModel fileModel = openUrlEvent.getSourceFileModel(); - - if(fileModel==null) - return; - - rpcWorkspaceService.getUrlById(fileModel.getIdentifier(), fileModel.getGXTFolderItemType().equals(GXTFolderItemTypeEnum.URL_DOCUMENT), false, new AsyncCallback() { - - @Override - public void onFailure(Throwable caught) { - explorerPanel.getAsycTreePanel().unmask(); - new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " clicking url.", null); - explorerPanel.getAsycTreePanel().removeAllAndRecoveryRoot(); - - } - - @Override - public void onSuccess(GWTWorkspaceItem result) { - - - if(fileModel.getGXTFolderItemType().equals(GXTFolderItemTypeEnum.URL_DOCUMENT)){ - new WindowOpenUrl(((GWTUrlDocument) result).getUrl(), "_blank", ""); - GWT.log("URL_DOCUMENT Open " + ((GWTUrlDocument) result).getUrl()); - } - else{ - new WindowOpenUrl(((GWTExternalUrl) result).getUrl(), "_blank", ""); - GWT.log("ExternalUrl Open " + ((GWTExternalUrl) result).getUrl()); - } - - } - - }); - - // com.google.gwt.user.client.Window.open(ConstantsExplorer.DOWNLOAD_WORKSPACE_SERVICE+"?id="+fileModel.getIdentifier()+"&viewContent=true", fileModel.getName(), ""); - - } + } }); @@ -2528,4 +2492,41 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt explorerPanel.getAsycTreePanel().setSearch(isSearch); } + public void doClickUrl(OpenUrlEvent openUrlEvent) { + + final FileModel fileModel = openUrlEvent.getSourceFileModel(); + + if(fileModel==null) + return; + + rpcWorkspaceService.getUrlById(fileModel.getIdentifier(), fileModel.getGXTFolderItemType().equals(GXTFolderItemTypeEnum.URL_DOCUMENT), false, new AsyncCallback() { + + @Override + public void onFailure(Throwable caught) { + explorerPanel.getAsycTreePanel().unmask(); + new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " clicking url.", null); + explorerPanel.getAsycTreePanel().removeAllAndRecoveryRoot(); + + } + + @Override + public void onSuccess(GWTWorkspaceItem result) { + + + if(fileModel.getGXTFolderItemType().equals(GXTFolderItemTypeEnum.URL_DOCUMENT)){ + new WindowOpenUrl(((GWTUrlDocument) result).getUrl(), "_blank", ""); + GWT.log("URL_DOCUMENT Open " + ((GWTUrlDocument) result).getUrl()); + } + else{ + new WindowOpenUrl(((GWTExternalUrl) result).getUrl(), "_blank", ""); + GWT.log("ExternalUrl Open " + ((GWTExternalUrl) result).getUrl()); + } + + } + + }); + + // com.google.gwt.user.client.Window.open(ConstantsExplorer.DOWNLOAD_WORKSPACE_SERVICE+"?id="+fileModel.getIdentifier()+"&viewContent=true", fileModel.getName(), ""); + + } } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java index 98fe8d9..dd39b9f 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java @@ -32,7 +32,7 @@ public interface Icons extends ClientBundle { @Source("icons/mime/xml.gif") ImageResource xml(); - @Source("icons/mime/html.gif") + @Source("icons/mime/ico_htm.gif") ImageResource html(); @Source("icons/mime/java.gif") @@ -284,6 +284,10 @@ public interface Icons extends ClientBundle { @Source("icons/link-try.png") ImageResource shareLink(); + + @Source("icons/openURL.png") + ImageResource extLink(); + @Source("icons/sharelink.png") ImageResource publicLink(); diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java index 81fa851..283854a 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java @@ -55,6 +55,10 @@ public class Resources { return AbstractImagePrototype.create(ICONS.undo()); } + public static AbstractImagePrototype getIconLink(){ + return AbstractImagePrototype.create(ICONS.extLink()); + } + public static AbstractImagePrototype getIconShareLink(){ return AbstractImagePrototype.create(ICONS.shareLink()); @@ -625,7 +629,7 @@ public class Resources { }else if(itemType.equals(GXTFolderItemTypeEnum.EXTERNAL_PDF_FILE)){ return Resources.getIconPdf(); }else if(itemType.equals(GXTFolderItemTypeEnum.EXTERNAL_URL)){ - return Resources.getIconHtml(); + return Resources.getIconLink(); }else if(itemType.equals(GXTFolderItemTypeEnum.IMAGE_DOCUMENT)){ return Resources.getIconPng(); }else if(itemType.equals(GXTFolderItemTypeEnum.METADATA)){ @@ -641,7 +645,7 @@ public class Resources { }else if(itemType.equals(GXTFolderItemTypeEnum.REPORT_TEMPLATE)){ return Resources.getIconReportTemplate(); }else if(itemType.equals(GXTFolderItemTypeEnum.URL_DOCUMENT)){ - return Resources.getIconHtml(); + return Resources.getIconLink(); }else if(itemType.equals(GXTFolderItemTypeEnum.WORKFLOW_REPORT)){ return Resources.getIconWorkflowReport(); }else if(itemType.equals(GXTFolderItemTypeEnum.WORKFLOW_TEMPLATE)){ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/mime/html.gif b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/mime/html.gif deleted file mode 100644 index 093f8a1..0000000 Binary files a/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/mime/html.gif and /dev/null differ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/mime/ico_htm.gif b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/mime/ico_htm.gif new file mode 100644 index 0000000..8ae2736 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/mime/ico_htm.gif differ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/openURL.png b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/openURL.png new file mode 100644 index 0000000..827c995 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/openURL.png differ