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
This commit is contained in:
Costantino Perciante 2016-01-18 10:50:10 +00:00
parent 1cae9150af
commit a27851dbc6
4 changed files with 51 additions and 15 deletions

View File

@ -4,7 +4,7 @@
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/gwt"/>
<dependent-module archiveName="fileupload-progress-bar-1.3.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/fileupload-progress-bar/fileupload-progress-bar">
<dependent-module archiveName="fileupload-progress-bar-1.4.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/fileupload-progress-bar/fileupload-progress-bar">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes"/>

View File

@ -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;
}
</ui:style>
<g:HTMLPanel styleName="{style.container-style}">
<g:Image styleName="{style.image-preview}" ui:field="imagePreview"></g:Image>

View File

@ -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 <true> 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);
}
}

View File

@ -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;
}
/**