WICKET-5552 allow prevention of drags used by ModalWindow to prevent dragging on window content
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ace845c4 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ace845c4 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ace845c4 Branch: refs/heads/WICKET-6563 Commit: ace845c412d6ea3117c6f366d9bd91b06c6270da Parents: 6ee5313 Author: Sven Meier <svenme...@apache.org> Authored: Mon Oct 15 23:15:06 2018 +0200 Committer: Sven Meier <svenme...@apache.org> Committed: Mon Oct 15 23:31:07 2018 +0200 ---------------------------------------------------------------------- .../wicket/ajax/res/js/wicket-ajax-jquery.js | 25 +++++++++++++------- .../ajax/markup/html/modal/res/modal.js | 11 +++++++-- 2 files changed, 25 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/ace845c4/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js ---------------------------------------------------------------------- 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 5f64c0b..2f0561f 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 @@ -2279,13 +2279,18 @@ Drag: { /** - * Initializes the dragging on the specified element. - * Element's onmousedown will be replaced by generated handler. - * - * @param {Element} element - element clicking on which the drag should begin - * @param {Function} onDragBegin - handler called at the begin on dragging - passed element as first parameter - * @param {Function} onDragEnd - handler called at the end of dragging - passed element as first parameter - * @param {Function} onDrag - handler called during dragging - passed element and mouse deltas + * Initializes dragging on the specified element. + * + * @param element {Element} + * element clicking on which + * the drag should begin + * @param onDragBegin {Function} + * called at the begin of dragging - passed element and event as parameters, + * may return false to prevent the start + * @param onDragEnd {Function} + * handler called at the end of dragging - passed element as parameter + * @param onDrag {Function} + * handler called during dragging - passed element and mouse deltas as parameters */ init: function(element, onDragBegin, onDragEnd, onDrag) { @@ -2315,14 +2320,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; http://git-wip-us.apache.org/repos/asf/wicket/blob/ace845c4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js ---------------------------------------------------------------------- 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..6bcebf2 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,11 +901,18 @@ /** * Called when dragging has started. */ - onBegin: function(object) { + onBegin: function(element, event) { + // ignore anything inside the content + if (jQuery(event.target).closest('.w_content').size()) { + return false; + } + if (this.isIframe() && (Wicket.Browser.isGecko() || Wicket.Browser.isIELessThan11() || Wicket.Browser.isSafari())) { this.revertList = []; Wicket.Iframe.documentFix(document, this.revertList); } + + return true; }, /** @@ -1183,7 +1190,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>"+