From b1390c580cf5e9ad6adbb6067007d03fb69a92cc Mon Sep 17 00:00:00 2001 From: Marc Englund Date: Tue, 21 May 2013 11:39:09 +0300 Subject: [PATCH] Don't autoclose PopupView when changing fragment, fixes #10530 Change-Id: I83607c97db8499c5e3c76e6d4735a93b0754d580 Ticket: 10530 --- .../src/com/vaadin/client/ui/VPopupView.java | 2 + .../popupview/PopupViewAndFragment.html | 32 +++++++++++ .../popupview/PopupViewAndFragment.java | 54 +++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/popupview/PopupViewAndFragment.html create mode 100644 uitest/src/com/vaadin/tests/components/popupview/PopupViewAndFragment.java diff --git a/client/src/com/vaadin/client/ui/VPopupView.java b/client/src/com/vaadin/client/ui/VPopupView.java index d983da2b62..737dc04968 100644 --- a/client/src/com/vaadin/client/ui/VPopupView.java +++ b/client/src/com/vaadin/client/ui/VPopupView.java @@ -102,6 +102,8 @@ public class VPopupView extends HTML implements Iterable { }); popup.setAnimationEnabled(true); + + popup.setAutoHideOnHistoryEventsEnabled(false); } /** For internal use only. May be removed or replaced in the future. */ diff --git a/uitest/src/com/vaadin/tests/components/popupview/PopupViewAndFragment.html b/uitest/src/com/vaadin/tests/components/popupview/PopupViewAndFragment.html new file mode 100644 index 0000000000..28af578bac --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/popupview/PopupViewAndFragment.html @@ -0,0 +1,32 @@ + + + + + + +PopupViewAndFragment + + + + + + + + + + + + + + + + + + + + + + +
PopupViewAndFragment
open/run/PopupViewAndFragment?restartApplication#
clickvaadin=runPopupViewAndFragment::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[1]/VButton[0]/domChild[0]/domChild[0]
screenCapture
+ + diff --git a/uitest/src/com/vaadin/tests/components/popupview/PopupViewAndFragment.java b/uitest/src/com/vaadin/tests/components/popupview/PopupViewAndFragment.java new file mode 100644 index 0000000000..1606b78604 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/popupview/PopupViewAndFragment.java @@ -0,0 +1,54 @@ +/* + * Copyright 2000-2013 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.components.popupview; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Label; +import com.vaadin.ui.PopupView; + +public class PopupViewAndFragment extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + final PopupView pw = new PopupView("Open", new Label("Oh, hi")); + addComponent(pw); + + final Button button = new Button("Open and change fragment", + new Button.ClickListener() { + @Override + public void buttonClick(final ClickEvent event) { + pw.setPopupVisible(true); + getPage().setUriFragment( + String.valueOf(System.currentTimeMillis())); + } + }); + addComponent(button); + } + + @Override + protected String getTestDescription() { + return "Changing frament should not automatically close PopupView"; + } + + @Override + protected Integer getTicketNumber() { + return 10530; + } + +} -- 2.39.5