From a27851dbc6598a6911241a4050351d384833d9b3 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Mon, 18 Jan 2016 10:50:10 +0000 Subject: [PATCH] Bug fix: preventing a user to attach via dnd a file if a linkpreview is present git-svn-id: https://svn.research-infrastructures.eu/d4science/gcube/trunk/portlets/user/share-updates@122278 82a268e6-3cf1-43bd-a215-b396298e98cf --- .settings/org.eclipse.wst.common.component | 2 +- .../client/view/AttachmentPreviewer.ui.xml | 3 +- .../client/view/ShareUpdateForm.java | 59 +++++++++++++++---- .../server/ShareUpdateServiceImpl.java | 2 +- 4 files changed, 51 insertions(+), 15 deletions(-) diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 8c4a917..3804aaa 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -4,7 +4,7 @@ - + uses diff --git a/src/main/java/org/gcube/portlets/user/shareupdates/client/view/AttachmentPreviewer.ui.xml b/src/main/java/org/gcube/portlets/user/shareupdates/client/view/AttachmentPreviewer.ui.xml index f1c8cc3..eed2e23 100644 --- a/src/main/java/org/gcube/portlets/user/shareupdates/client/view/AttachmentPreviewer.ui.xml +++ b/src/main/java/org/gcube/portlets/user/shareupdates/client/view/AttachmentPreviewer.ui.xml @@ -8,7 +8,9 @@ margin-left: 2px; display: inline; margin-top: 5px; + margin-bottom: 5px; height: 40px; + width: auto; } .attach-result { @@ -32,7 +34,6 @@ margin-top: 1px; width: 565px; } - diff --git a/src/main/java/org/gcube/portlets/user/shareupdates/client/view/ShareUpdateForm.java b/src/main/java/org/gcube/portlets/user/shareupdates/client/view/ShareUpdateForm.java index dd5ad3c..80aa8ad 100644 --- a/src/main/java/org/gcube/portlets/user/shareupdates/client/view/ShareUpdateForm.java +++ b/src/main/java/org/gcube/portlets/user/shareupdates/client/view/ShareUpdateForm.java @@ -233,7 +233,7 @@ public class ShareUpdateForm extends Composite { GWT.log("Drag leave handler"); // remove style changes - resetTextArea(); + resetDNDStyleEffects(); } @@ -289,16 +289,16 @@ public class ShareUpdateForm extends Composite { @UiHandler("attachButton") void onAttachClick(ClickEvent e) { - // check if there is a linkpreview + // check if there is a link preview if(linkPreviewer != null){ - // in this case let the user choose what to do - boolean confirm = Window.confirm(DELETE_LINK_PREVIEW); + // ask the user + boolean delete = wantToDeleteLinkPreview(); - if(!confirm) + if(!delete) return; - // remove preview + // remove link preview cancelLinkPreview(); } @@ -825,6 +825,22 @@ public class ShareUpdateForm extends Composite { var dt = e.dataTransfer; var files = dt.files; + // chek if a link preview is already there + var linkPreviewPresent = instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::isLinkPreviewPresent()(); + + if(linkPreviewPresent){ + + var hasToBeDelete = instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::wantToDeleteLinkPreview()(); + + if(!hasToBeDelete){ + instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetDNDStyleEffects()(); + return; + } + // else delete the link preview and proceeed + instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::cancelLinkPreview()(); + + } + // check limit for number of files var numberOfAlreadyAttachedFiles = instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::numberOfAttachments()(); numberOfAlreadyAttachedFiles += files.length; @@ -837,7 +853,7 @@ public class ShareUpdateForm extends Composite { console.log(msg); // reset text area - instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetTextArea()(); + instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetDNDStyleEffects()(); return; } @@ -845,7 +861,7 @@ public class ShareUpdateForm extends Composite { if (files.length == 0) { // reset text area - instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetTextArea()(); + instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetDNDStyleEffects()(); return; } @@ -918,7 +934,7 @@ public class ShareUpdateForm extends Composite { instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::showAlert(Ljava/lang/String;)(msg); // reset text area - instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetTextArea()(); + instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetDNDStyleEffects()(); return; } @@ -941,7 +957,7 @@ public class ShareUpdateForm extends Composite { instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::showAlert(Ljava/lang/String;)(msg); // reset text area - instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetTextArea()(); + instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetDNDStyleEffects()(); return; } @@ -952,7 +968,7 @@ public class ShareUpdateForm extends Composite { } // reset text area - instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetTextArea()(); + instance.@org.gcube.portlets.user.shareupdates.client.view.ShareUpdateForm::resetDNDStyleEffects()(); }); }-*/; @@ -1005,7 +1021,7 @@ public class ShareUpdateForm extends Composite { /** * On dragLeave reset changes on the text area */ - private void resetTextArea() { + private void resetDNDStyleEffects() { // remove border properties shareTextArea.getElement().getStyle().setBorderStyle(BorderStyle.SOLID); @@ -1098,4 +1114,23 @@ public class ShareUpdateForm extends Composite { } return counter; } + + /** + * Is there any link preview? + * @return if a link preview is already there + */ + private boolean isLinkPreviewPresent(){ + + return linkPreviewer != null; + + } + + /** + * Asks the user if he/she wants to delete the link preview + * @return + */ + private boolean wantToDeleteLinkPreview(){ + + return Window.confirm(DELETE_LINK_PREVIEW); + } } diff --git a/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java b/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java index 89128b0..40bbc7c 100644 --- a/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/shareupdates/server/ShareUpdateServiceImpl.java @@ -124,7 +124,7 @@ public class ShareUpdateServiceImpl extends RemoteServiceServlet implements Shar } public String getDevelopmentUser() { String user = TEST_USER; - user = "costantino.perciante"; + // user = "costantino.perciante"; return user; } /**