107 lines
3.2 KiB
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');
|
|
}-*/;
|
|
}
|