Kaynağa Gözat

Fix removing resize and drag curtains when window is closed (#10515)

Fixes #10514
tags/8.5.0.alpha1
Artur 6 yıl önce
ebeveyn
işleme
e65e9c5821

+ 6
- 0
client/src/main/java/com/vaadin/client/ui/VWindow.java Dosyayı Görüntüle

@@ -258,6 +258,12 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner,
.focusStoredElement();

removeTabBlockHandlers();
// If you click while the window is being closed,
// a new dragging curtain might be added and will
// remain after detach. Theoretically a resize curtain can also remain
// if you manage to click on the resize element
hideDraggingCurtain();
hideResizingCurtain();
}

private void addTabBlockHandlers() {

+ 39
- 0
uitest/src/main/java/com/vaadin/tests/components/window/CurtainRemainsOnModalWindowClose.java Dosyayı Görüntüle

@@ -0,0 +1,39 @@
/*
* Copyright 2000-2016 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.window;

import com.vaadin.annotations.Widgetset;
import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUIWithLog;
import com.vaadin.ui.Button;
import com.vaadin.ui.Window;

@Widgetset("com.vaadin.DefaultWidgetSet")
public class CurtainRemainsOnModalWindowClose extends AbstractTestUIWithLog {

@Override
protected void setup(VaadinRequest request) {
Window w = new Window(null,
new Button("try double or triple click here"));
w.addClickListener(e -> w.close());

Button open = new Button("open window");
open.addClickListener(e -> addWindow(w));
addComponent(open);

}

}

Loading…
İptal
Kaydet