[
https://issues.apache.org/jira/browse/WICKET-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16648519#comment-16648519
]
ASF GitHub Bot commented on WICKET-5552:
----------------------------------------
Github user svenmeier commented on the issue:
https://github.com/apache/wicket/pull/294
I'm still not happy about the change :/.
Note that for Wicket 9 I want to move all Drag-handling from wicket-ajax to
modal.js - we don't need it really in the former and for modal we'll have it
easier to adjust it.
For now we could allow the start handler to veto the drag:
```
diff --git
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
index 18ab6bd..e71b4e8 100644
---
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
+++
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
@@ -2476,14 +2476,16 @@
var element = this;
+ if (element.wicketOnDragBegin(element, e) ===
false) {
+ return;
+ }
+
Wicket.Event.stop(e);
if (e.preventDefault) {
e.preventDefault();
}
- element.wicketOnDragBegin(element);
-
element.lastMouseX = e.clientX;
element.lastMouseY = e.clientY;
diff --git
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
index b00ceec..6d63807 100644
---
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
+++
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
@@ -901,7 +901,12 @@
/**
* Called when dragging has started.
*/
- onBegin: function(object) {
+ onBegin: function(element, event) {
+ // ignore anything inside the content
+ if (jQuery(event.target).closest('.w_content_2').size()
) {
+ return false;
+ }
+
if (this.isIframe() && (Wicket.Browser.isGecko() ||
Wicket.Browser.isIELessThan11() || Wicket.Browser.isSafari())) {
this.revertList = [];
Wicket.Iframe.documentFix(document,
this.revertList);
@@ -1183,7 +1188,7 @@
"<div class=\"w_left\"
id='"+idLeft+"'>"+
"<div class=\"w_right_1\">"+
"<div class=\"w_right\"
id='"+idRight+"'>"+
- "<div
class=\"w_content_1\" onmousedown=\"Wicket.Event.stop(event);\">"+
+ "<div
class=\"w_content_1\">"+
"<div
class=\"w_caption\" id=\""+idCaption+"\">"+
"<a class=\"w_close\" style=\"z-index:1\" href=\"#\"></a>"+
"<h3 id=\""+idCaptionText+"\" class=\"w_captionText\"></h3>"+
```
> Events to close pop-up on Modal Window are not propagated
> ---------------------------------------------------------
>
> Key: WICKET-5552
> URL: https://issues.apache.org/jira/browse/WICKET-5552
> Project: Wicket
> Issue Type: Bug
> Components: wicket-extensions
> Affects Versions: 7.10.0
> Environment: Windows/Eclipse/JRE7
> Reporter: Neil Bennett
> Priority: Minor
> Labels: javascript, modalwindow
> Attachments: quickstart.zip
>
>
> When using a field on a modal window that shows a pop-up window, like a time
> picker, when clicking outside of the pop-up window but over the modal window,
> mousedown/click events are not propagated. Clicks outside of the modal window
> are propagated.
> This is due to Wicket.Event.stop(event) being called on mousedown on the
> w_content_1 component. Removal of this leads to the Drag javascript being
> executed which itself calls Wicket.Event.stop(event), disabling this then
> propagates the event which leads to the pop-up window being closed but causes
> any field on the modalwindow to get focus.
> I have a quickstart that demonstrates the modalwindow behavior vs that on a
> page. You will see that launching the modal window and clicking on the time
> component opens the pop-up window. However, you can only get this to close
> when clicking outside of the modal window. The same component has been put on
> the main page as a comparison which does close when clicking outside of the
> pop-up window.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)