diff --git a/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/uploader/DialogUpload.java b/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/uploader/DialogUpload.java
index 04afc77..ad3c7e9 100644
--- a/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/uploader/DialogUpload.java
+++ b/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/uploader/DialogUpload.java
@@ -16,12 +16,13 @@ import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Unit;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
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.Anchor;
-import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FileUpload;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent;
@@ -33,6 +34,7 @@ import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.Hidden;
import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
@@ -44,8 +46,6 @@ import com.google.gwt.user.client.ui.VerticalPanel;
*/
public class DialogUpload extends ClosableDialog implements HasWorskpaceUploadNotificationListener{
- private DialogUpload INSTANCE = this;
- protected Button btnUpload = new Button("Upload");
private Hidden hiddenOverwrite = new Hidden(ConstantsWorkspaceUploader.IS_OVERWRITE,"false");
protected final FormPanel formPanel = new FormPanel();
protected FileUpload fileUpload;
@@ -64,7 +64,7 @@ public class DialogUpload extends ClosableDialog implements HasWorskpaceUploadNo
protected String parentIdentifier = "";
protected VerticalPanel panel;
- private HorizontalPanel hpButtons;
+ private HorizontalPanel hpBottom;
// private MonitorPanel monitorPanel;
protected String clientUploadKey;
private Anchor anchorMyUploads;
@@ -108,10 +108,16 @@ public class DialogUpload extends ClosableDialog implements HasWorskpaceUploadNo
panel.add(jsonClientKeys);
panel.add(fileUpload);
- hpButtons = new HorizontalPanel();
- hpButtons.getElement().getStyle().setMarginTop(10, Unit.PX);
- hpButtons.add(btnUpload);
- panel.add(hpButtons);
+ hpBottom = new HorizontalPanel();
+ hpBottom.getElement().getStyle().setMarginTop(10, Unit.PX);
+
+ if(uploadType.equals(UPLOAD_TYPE.File)){
+ HTML msg = new HTML("To select multiple files, press and hold down the Ctrl key, and then click each item
that you want to select");
+ msg.getElement().getStyle().setFontSize(10, Unit.PX);
+ hpBottom.add(msg);
+ }
+
+ panel.add(hpBottom);
HorizontalPanel hp = new HorizontalPanel();
hp.getElement().setId("hpID");
@@ -141,7 +147,7 @@ public class DialogUpload extends ClosableDialog implements HasWorskpaceUploadNo
*/
public void bindEvents(){
this.addHandlers();
- this.addListeners();
+// this.addListeners();
}
/**
@@ -225,46 +231,12 @@ public class DialogUpload extends ClosableDialog implements HasWorskpaceUploadNo
}
});
- }
-
- /**
- * Adds the loading.
- */
- protected void addLoading(){
- panel.add(LOADING);
- }
-
- /**
- * Removes the loading.
- */
- protected void removeLoading(){
- try{
- panel.remove(LOADING);
- }catch(Exception e){
-
- }
- }
-
- /**
- * Enable buttons.
- *
- * @param bool the bool
- */
- protected void enableButtons(boolean bool){
- btnUpload.setEnabled(bool);
-// btnCancel.setEnabled(bool);
-// upload.setEnabled(bool);
- }
-
- /**
- * Adds the listeners.
- */
- protected void addListeners() {
-
- btnUpload.addClickHandler(new ClickHandler() {
+
+ fileUpload.addChangeHandler(new ChangeHandler() {
@Override
- public void onClick(ClickEvent event) {
+ public void onChange(ChangeEvent event) {
+
GWT.log("btnSubmit click");
if (fileUpload.getFilename()==null || !(fileUpload.getFilename().length()>2)) {
GWT.log("No file specified ");
@@ -302,10 +274,88 @@ public class DialogUpload extends ClosableDialog implements HasWorskpaceUploadNo
}
});
- }
+ }
});
}
+ /**
+ * Adds the loading.
+ */
+ protected void addLoading(){
+ panel.add(LOADING);
+ }
+
+ /**
+ * Removes the loading.
+ */
+ protected void removeLoading(){
+ try{
+ panel.remove(LOADING);
+ }catch(Exception e){
+
+ }
+ }
+
+ /**
+ * Enable buttons.
+ *
+ * @param bool the bool
+ */
+ protected void enableButtons(boolean bool){
+// btnUpload.setEnabled(bool);
+// btnCancel.setEnabled(bool);
+// upload.setEnabled(bool);
+ }
+
+ /**
+ * Adds the listeners.
+ */
+ /*protected void addListeners() {
+
+ btnUpload.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent event) {
+ GWT.log("btnSubmit click");
+ if (fileUpload.getFilename()==null || !(fileUpload.getFilename().length()>2)) {
+ GWT.log("No file specified ");
+ return;
+ }
+
+ GWT.log("fileUpload.getFilename() "+fileUpload.getFilename());
+ //TODO: recall: Some browser would write in fileUploadField.getValue() C:\fakepath\$fileName
+
+ String normalizedFileName = fileUpload.getFilename();
+ if (normalizedFileName.contains("\\")) {
+ normalizedFileName = normalizedFileName.substring(normalizedFileName.lastIndexOf("\\")+1); //remove C:\fakepath\ if exists
+ }
+ final String label = normalizedFileName;
+ WorkspaceUploaderServiceAsync.Util.getInstance().itemExistsInWorkpaceFolder(parentIdentifier, normalizedFileName, new AsyncCallback() {
+
+ @Override
+ public void onSuccess(final String itemId) {
+ GWT.log("itemExistsInWorkpaceFolder: "+itemId);
+ if(itemId!=null){
+ // HANDLE OWERWRITE
+ if(Window.confirm(label + " exists in folder. Overwrite?")){
+ removeItemAndSubmitForm(itemId);
+ updateItemSubmitForm(itemId);
+ }
+ }else
+ submitForm(); //ITEM does NOT EXIST SO SUBMIT FORM;
+ }
+
+ @Override
+ public void onFailure(Throwable caught) {
+ GWT.log("Sorry an error occurred on the server "+caught.getLocalizedMessage() + ". Please try again later");
+ Window.alert(caught.getMessage());
+ }
+
+ });
+ }
+ });
+ }*/
+
/**
* Submit form.
diff --git a/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/uploader/MultipleDilaogUpload.java b/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/uploader/MultipleDilaogUpload.java
index 1a89b54..f1b1d9b 100644
--- a/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/uploader/MultipleDilaogUpload.java
+++ b/src/main/java/org/gcube/portlets/widgets/workspaceuploader/client/uploader/MultipleDilaogUpload.java
@@ -15,8 +15,8 @@ import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem.UPLOAD_STATUS;
import com.google.gwt.core.client.GWT;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
@@ -53,95 +53,6 @@ public class MultipleDilaogUpload extends DialogUpload {
fileUploadID = GenerateUUID.get(10, 16); //is tagID
fileUpload.getElement().setId(fileUploadID);
this.addHandlers();
- this.addListeners();
- }
-
- /**
- * Adds the listeners.
- */
- @Override
- protected void addListeners() {
-
- btnUpload.addClickHandler(new ClickHandler() {
-
- @Override
- public void onClick(ClickEvent event) {
- GWT.log("btnSubmit click");
- if (fileUpload.getFilename()==null || !(fileUpload.getFilename().length()>2)) {
- GWT.log("No file specified ");
- return;
- }
-
- String[] files = null;
- String filesSelected = getFilesSelected(fileUploadID, FILE_DELEMITER);
- GWT.log("getFilesSelected: "+filesSelected);
- files = filesSelected.split(FILE_DELEMITER);
-
- //NORMALIZE FILE NAMES
- for (int i=0; i() {
-
- @Override
- public void onSuccess(final String itemId) {
- GWT.log("itemExistsInWorkpaceFolder: "+itemId);
- if(itemId!=null){
- // HANDLE OWERWRITE
- if(Window.confirm(label + " exists in folder. Overwrite?")){
- removeItemAndSubmitForm(itemId);
- updateItemSubmitForm(itemId);
- }
- }else
- submitForm(); //ITEM does NOT EXIST SO SUBMIT FORM;
- }
-
- @Override
- public void onFailure(Throwable caught) {
- GWT.log("Sorry an error occurred on the server "+caught.getLocalizedMessage() + ". Please try again later");
- Window.alert(caught.getMessage());
- }
-
- });
- }else
- submitForm();
- }
- });
-/*
- btnCancel.addClickHandler(new ClickHandler() {
-
- @Override
- public void onClick(ClickEvent event) {
- hide();
-
- }
- });*/
}
/**
@@ -165,7 +76,6 @@ public class MultipleDilaogUpload extends DialogUpload {
}
}
-
/* (non-Javadoc)
* @see org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUploadStream#addHandlers()
*/
@@ -230,25 +140,84 @@ public class MultipleDilaogUpload extends DialogUpload {
enableButtons(false);
for (final WorkspaceUploaderItem workspaceUploaderItem : fakeUploaders) {
-
UploaderMonitor.getInstance().addNewSubmit(workspaceUploaderItem, workspaceUploaderItem.getFile().getFileName());
setVisible(false);
removeLoading();
UploaderMonitor.getInstance().pollWorkspaceUploader(workspaceUploaderItem);
-
- //WAITING 0.1 SEC TO FIRST UPDATES
- /*new Timer() {
-
- @Override
- public void run() {
- removeLoading();
- UploaderMonitor.getInstance().pollWorkspaceUploaderId(workspaceUploaderItem.getClientUploadKey());
-
- }
- }.schedule(100);*/
}
}
});
+
+ fileUpload.addChangeHandler(new ChangeHandler() {
+
+ @Override
+ public void onChange(ChangeEvent event) {
+ GWT.log("browse return...");
+ if (fileUpload.getFilename()==null || !(fileUpload.getFilename().length()>2)) {
+ GWT.log("No file specified ");
+ return;
+ }
+
+ String[] files = null;
+ String filesSelected = getFilesSelected(fileUploadID, FILE_DELEMITER);
+ GWT.log("getFilesSelected: "+filesSelected);
+ files = filesSelected.split(FILE_DELEMITER);
+
+ //NORMALIZE FILE NAMES
+ for (int i=0; i() {
+
+ @Override
+ public void onSuccess(final String itemId) {
+ GWT.log("itemExistsInWorkpaceFolder: "+itemId);
+ if(itemId!=null){
+ // HANDLE OWERWRITE
+ if(Window.confirm(label + " exists in folder. Overwrite?")){
+ removeItemAndSubmitForm(itemId);
+ updateItemSubmitForm(itemId);
+ }
+ }else
+ submitForm(); //ITEM does NOT EXIST SO SUBMIT FORM;
+ }
+
+ @Override
+ public void onFailure(Throwable caught) {
+ GWT.log("Sorry an error occurred on the server "+caught.getLocalizedMessage() + ". Please try again later");
+ Window.alert(caught.getMessage());
+ }
+
+ });
+ }else
+ submitForm();
+
+ }
+ });
}
/**