workspace-uploader/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/WorkspaceUploader.java

107 lines
3.2 KiB
Java

package org.gcube.portlets.widgets.workspaceuploader.client;
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUpload;
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUpload.UPLOAD_TYPE;
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.MultipleDilaogUploadStream;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.ScriptInjector;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.RootPanel;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class WorkspaceUploader implements EntryPoint {
String headerTitle = "Upload in your Workspace";
String parentId;
private Button buttonUploader;
private Button buttonDirect;
public void onModuleLoad() {
boolean jQueryLoaded = isjQueryLoaded();
GWT.log("jQueryLoaded: "+jQueryLoaded);
GWT.log("Injected : http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js");
if (!jQueryLoaded) {
ScriptInjector.fromUrl("http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js")
.setWindow(ScriptInjector.TOP_WINDOW)
.inject();
}
// ScriptInjector.fromUrl("http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js")
// .setWindow(ScriptInjector.TOP_WINDOW)
// .inject();
buttonUploader = new Button("Upload in your Workspace");
buttonDirect = new Button("Upload (Stream) in your Workspace");
enableUpload(false);
WorkspaceUploaderServiceAsync.Util.getInstance().getWorkspaceId(
new AsyncCallback<String>() {
@Override
public void onSuccess(String result) {
if (result != null) {
parentId = result;
enableUpload(true);
} else {
Window.alert("An error occurred on recovering workspace, try again later");
enableUpload(false);
}
}
@Override
public void onFailure(Throwable caught) {
Window.alert("An error occurred on recovering workspace, try again later");
enableUpload(false);
}
});
buttonUploader.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
DialogUpload uploader = new DialogUpload(headerTitle, parentId, UPLOAD_TYPE.File);
uploader.center();
}
});
buttonDirect.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
MultipleDilaogUploadStream uploadStream = new MultipleDilaogUploadStream(headerTitle, parentId, org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUploadStream.UPLOAD_TYPE.File);
uploadStream.center();
}
});
// RootPanel.get("workspace-uploader").add(buttonUploader);
RootPanel.get("workspace-uploader").add(buttonDirect);
}
private void enableUpload(boolean bool){
buttonUploader.setEnabled(bool);
buttonDirect.setEnabled(bool);
}
/**
* Checks if is j query loaded.
*
* @return true, if is j query loaded
*/
private native boolean isjQueryLoaded() /*-{
return (typeof $wnd['jQuery'] !== 'undefined');
}-*/;
}