From f4dc8b29525019f9d4a79e712d64a0e2bede4587 Mon Sep 17 00:00:00 2001 From: Anna Koskinen Date: Wed, 1 Apr 2020 11:38:11 +0300 Subject: Ensure ChangeListener still works after first upload. (#11936) Fixes #10420 --- client/src/main/java/com/vaadin/client/ui/VUpload.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'client') diff --git a/client/src/main/java/com/vaadin/client/ui/VUpload.java b/client/src/main/java/com/vaadin/client/ui/VUpload.java index 2f4b62a47f..e72fe3e838 100644 --- a/client/src/main/java/com/vaadin/client/ui/VUpload.java +++ b/client/src/main/java/com/vaadin/client/ui/VUpload.java @@ -40,6 +40,7 @@ import com.vaadin.client.ConnectorMap; import com.vaadin.client.StyleConstants; import com.vaadin.client.ui.upload.UploadConnector; import com.vaadin.client.ui.upload.UploadIFrameOnloadStrategy; +import com.vaadin.shared.EventId; import com.vaadin.shared.ui.upload.UploadServerRpc; /** @@ -264,6 +265,16 @@ public class VUpload extends SimplePanel { if (isImmediateMode()) { fu.sinkEvents(Event.ONCHANGE); } + fu.addChangeHandler(event -> { + if (client != null) { + UploadConnector connector = ((UploadConnector) ConnectorMap + .get(client).getConnector(VUpload.this)); + if (connector.hasEventListener(EventId.CHANGE)) { + connector.getRpcProxy(UploadServerRpc.class) + .change(fu.getFilename()); + } + } + }); } /** -- cgit v1.2.3