From ad566fd5d0ebe30b16ad1e9cb29defa9b78f7c54 Mon Sep 17 00:00:00 2001 From: Chris Wesdorp Date: Thu, 19 Apr 2018 09:52:33 +0200 Subject: [PATCH] Exclude ListView search elements from auto-close --- .../widget/DropdownDivConverter.js | 13 +++++++++++-- test/widgets/DropdownDivConverter.mpk | Bin 6625 -> 6701 bytes 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/DropdownDivConverter/widget/DropdownDivConverter.js b/src/DropdownDivConverter/widget/DropdownDivConverter.js index ac477ff..b590863 100644 --- a/src/DropdownDivConverter/widget/DropdownDivConverter.js +++ b/src/DropdownDivConverter/widget/DropdownDivConverter.js @@ -153,13 +153,16 @@ define([ // Mendix buttons and links stop events from bubbling: set actions for internal button clicks to close the menu if needed if (this.autoClose){ this.connect(this.dropdownMenu, "click", lang.hitch(this,function(e){ - if (this._isOpen) { + if (this._isOpen && !this._isListViewSearchItem(e.srcElement)) { this._toggleMenu(); } })); var internalButtons = domQuery("button, a", this.dropdownMenu); - dojoArray.forEach(internalButtons, lang.hitch(this,function(node){ + var listViewExcluded = dojoArray.filter(internalButtons, lang.hitch(this, function(item) { + return !this._isListViewSearchItem(item); + })); + dojoArray.forEach(listViewExcluded, lang.hitch(this,function(node){ this.connect(node, "click", lang.hitch(this, function(e) { if (this._isOpen){ this._toggleMenu(); @@ -302,8 +305,14 @@ define([ if (cb && typeof cb === "function") { cb(); } + }, + + _isListViewSearchItem: function(element) { + return domQuery(element).parents(".mx-listview-searchbar").length > 0 } + }); }); require(["DropdownDivConverter/widget/DropdownDivConverter"]); + diff --git a/test/widgets/DropdownDivConverter.mpk b/test/widgets/DropdownDivConverter.mpk index a133aabecf36a92a3e3a5ed41be5fc0bc249fe81..9c6551afb774a871468d0c1522d5b7668db20ee3 100644 GIT binary patch literal 6701 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 YRU!9ow>tm;jN8xAZ6aVK`StC80Fh>#jsO4v literal 6625 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