From 443b492b9fee4114ec9902a00ce6cdc2ba75016b Mon Sep 17 00:00:00 2001 From: "massimiliano.assante" Date: Fri, 8 Mar 2019 14:23:41 +0000 Subject: [PATCH] Fixed when writing a Message you click on another message everything you wrote in your message is lost without any advice. git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/message-conversations@178517 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 1 + .project | 11 +++ .../com.gwtplugins.gdt.eclipse.core.prefs | 1 + .settings/org.eclipse.jdt.core.prefs | 1 + .settings/org.eclipse.wst.common.component | 2 +- ....eclipse.wst.common.project.facet.core.xml | 1 + distro/changelog.xml | 1 + pom.xml | 93 +++++++++++++------ .../client/ui/ApplicationView.java | 17 +++- .../client/ui/WriteMessage.java | 3 +- src/main/resources/clientlog4j.properties | 5 +- 11 files changed, 106 insertions(+), 30 deletions(-) diff --git a/.classpath b/.classpath index 3e1d99d..d86cf4a 100644 --- a/.classpath +++ b/.classpath @@ -33,6 +33,7 @@ + diff --git a/.project b/.project index 42b10c5..ad2a2a8 100644 --- a/.project +++ b/.project @@ -35,6 +35,16 @@ + + com.gwtplugins.gdt.eclipse.core.webAppProjectValidator + + + + + com.gwtplugins.gwt.eclipse.core.gwtProjectValidator + + + org.eclipse.jem.workbench.JavaEMFNature @@ -45,5 +55,6 @@ org.eclipse.wst.jsdt.core.jsNature com.liferay.ide.core.liferayNature com.google.gwt.eclipse.core.gwtNature + com.gwtplugins.gwt.eclipse.core.gwtNature diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index 9a193e3..f521e97 100644 --- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs +++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs @@ -1,3 +1,4 @@ eclipse.preferences.version=1 +lastWarOutDir=${webappDirectory} warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 6e80039..4e4a3ad 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -5,4 +5,5 @@ org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index f48cf24..5012cc4 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,5 +1,5 @@ - + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml index f972b17..3ee021a 100644 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -6,4 +6,5 @@ + diff --git a/distro/changelog.xml b/distro/changelog.xml index 2b2db5d..877cb0f 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,6 +1,7 @@ + Feature #10068, Request for enhancement: new Messages is error prone and challenging to use Feature #16194, Isolate Gateway user list in Messages - 4.0.0 @@ -54,7 +55,53 @@ - + + + + javax.servlet + javax.servlet-api + 3.1.0 + + + com.google.gwt + gwt-servlet + ${gwt.version} + provided + + + javax.servlet + javax.servlet-api + + + + + com.google.gwt + gwt-dev + provided + + + javax.servlet + javax.servlet-api + + + + + com.google.gwt + gwt-user + ${gwt.version} + provided + + + javax.servlet + javax.servlet-api + + + + + xerces + xercesImpl + 2.9.1 + org.gcube.portlets.widgets workspace-explorer @@ -85,24 +132,7 @@ portlet-api provided - - com.google.gwt - gwt-servlet - ${gwt.version} - provided - - - com.google.gwt - gwt-user - ${gwt.version} - provided - - - com.google.gwt - gwt-dev - ${gwt.version} - provided - + org.gcube.core @@ -114,6 +144,12 @@ com.github.gwtmaterialdesign gwt-material ${gwt-material.version} + + + javax.servlet + javax.servlet-api + + com.github.gwtmaterialdesign @@ -157,12 +193,6 @@ xml-apis 1.4.01 - - javax.servlet - javax.servlet-api - - provided - org.gcube.dvos usermanagement-core @@ -188,6 +218,15 @@ util-java provided + + org.slf4j + slf4j-log4j12 + + + org.slf4j + slf4j-api + provided + junit junit @@ -219,10 +258,12 @@ + -Dlog4j.configuration=clientlog4j.properties MessageConversations.html org.gcube.portets.user.message_conversations.MessageConversations + ${webappDirectory} diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java index 921b741..4f4f63c 100755 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java @@ -74,6 +74,7 @@ public class ApplicationView extends Composite { private static Binder uiBinder = GWT.create(Binder.class); private final MessageServiceAsync convService = GWT.create(MessageService.class); + protected static boolean WRITING_MESSAGE = false; private boolean toggle = false; private boolean toggleSwitch = false; @@ -117,7 +118,7 @@ public class ApplicationView extends Composite { forward.setTooltip("Forward"); forward.setTooltipPosition(Position.LEFT); } - + String[] usernamesToSendTo = sendToUserNames; if (usernamesToSendTo != null && usernamesToSendTo.length > 0) { prepareNewMessageForSendTo(usernamesToSendTo); @@ -234,6 +235,18 @@ public class ApplicationView extends Composite { * @param sent */ public void readUserMessage(String messageId, final boolean sent) { + if (WRITING_MESSAGE == true) { + boolean continueDisplay = Window.confirm("The message content you are writing will be lost if you continue"); + if (continueDisplay) { + displayMessage(messageId, sent); + } + } + else { + displayMessage(messageId, sent); + } + } + + private void displayMessage(String messageId, final boolean sent) { messageLoader.setColor(Utils.getRandomColor()); messageLoader.setVisible(true); scrollerPanel.clear(); @@ -256,6 +269,7 @@ public class ApplicationView extends Composite { } }); } + private void updateBadge(boolean sent) { String badgeText = totalMessages + (sent ? " sent" : " (" + unreadMessages + " unread" + ")"); if (unreadMessages == 0 && !sent) @@ -305,6 +319,7 @@ public class ApplicationView extends Composite { private void displayNewOrReplyMessage() { + WRITING_MESSAGE = true; FAB.setVisible(false); messagesCollection.clearActive(); scrollerPanel.clear(); diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.java b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.java index db4fa5c..421e7eb 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/WriteMessage.java @@ -276,7 +276,6 @@ public class WriteMessage extends Composite { @UiHandler("btnSendModal") void onSendMessage(ClickEvent e) { - if (getSelectedUsers().isEmpty()) { acModal.setError("Look empty to me"); return; @@ -307,6 +306,7 @@ public class WriteMessage extends Composite { sendingLoader.setVisible(true); btnSendModal.setEnabled(false); + ApplicationView.WRITING_MESSAGE = false; convService.sendToById(recipientIds, getSelectedFilesAndFoldersId(), txtBoxSubject.getText(), txtArea.getText(), new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -336,6 +336,7 @@ public class WriteMessage extends Composite { if (Utils.isMobile()) ap.showSidePanel(); mainPanel.clear(); + ApplicationView.WRITING_MESSAGE = false; } public List getSelectedUsers() { diff --git a/src/main/resources/clientlog4j.properties b/src/main/resources/clientlog4j.properties index 9f94ab9..fe3e255 100644 --- a/src/main/resources/clientlog4j.properties +++ b/src/main/resources/clientlog4j.properties @@ -15,4 +15,7 @@ log4j.logger.org.gcube.common.authorization=WARN log4j.logger.org.gcube.common.clients=WARN log4j.logger.org.gcube.resources.clients=WARN log4j.logger.org.gcube.contentmanager=WARN -log4j.logger.org.gcube.resources.discovery=WARN \ No newline at end of file +log4j.logger.org.gcube.resources.discovery=WARN +log4j.logger.com.liferay.portal.kernel.bean.PortalBeanLocatorUtil=OFF +log4j.logger.com.liferay.portal.kernel.log.Jdk14LogImpl=OFF +log4j.logger.org.eclipse.jetty=ERROR \ No newline at end of file