jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/334437 )

Change subject: MenuSelectWidget: Hide menu if all items are hidden
......................................................................


MenuSelectWidget: Hide menu if all items are hidden

This was not a big problem previously, since an empty menu used to
have zero height (it only appeared as a barely visible shadow),
but b105f753541c37bfb180a314bc4113c8c2b5a79d gave it a min-height.
This should only affect CapsuleMultiselectWidget.

I am unhappy with this solution. MenuSelectWidget probably shouldn't
be in the business of hiding itself? But right now I've better things
to do than figure out how CapsuleMultiselectWidget and the 'filterFromInput'
option interact exactly... I tried adding .menu.toggle( false ) calls
in a few sensible places and it caused all kinds of unsensible things
to happen. So let's just do this.

Change-Id: Ice96285426b929764669e99eda962e9dc367d62d
---
M src/styles/widgets/MenuSelectWidget.less
M src/widgets/MenuSelectWidget.js
2 files changed, 14 insertions(+), 2 deletions(-)

Approvals:
  jenkins-bot: Verified
  VolkerE: Looks good to me, approved
  Jforrester: Looks good to me, but someone else must approve



diff --git a/src/styles/widgets/MenuSelectWidget.less 
b/src/styles/widgets/MenuSelectWidget.less
index 7d07bb3..f6b20fe 100644
--- a/src/styles/widgets/MenuSelectWidget.less
+++ b/src/styles/widgets/MenuSelectWidget.less
@@ -13,5 +13,12 @@
                opacity: 0;
        }
 
+       &-invisible {
+               // HACK: MenuSelectWidget probably shouldn't be in the business 
of hiding itself?
+               // But right now I've better things to do than figure out how 
CapsuleMultiselectWidget
+               // and the 'filterFromInput' interact...
+               display: none;
+       }
+
        .theme-oo-ui-menuSelectWidget();
 }
diff --git a/src/widgets/MenuSelectWidget.js b/src/widgets/MenuSelectWidget.js
index 4f9a29a..b3d3a9c 100644
--- a/src/widgets/MenuSelectWidget.js
+++ b/src/widgets/MenuSelectWidget.js
@@ -129,7 +129,8 @@
  * @protected
  */
 OO.ui.MenuSelectWidget.prototype.updateItemVisibility = function () {
-       var i, item,
+       var i, item, visible,
+               anyVisible = false,
                len = this.items.length,
                showAll = !this.isVisible(),
                filter = showAll ? null : this.getItemMatcher( 
this.$input.val() );
@@ -137,10 +138,14 @@
        for ( i = 0; i < len; i++ ) {
                item = this.items[ i ];
                if ( item instanceof OO.ui.OptionWidget ) {
-                       item.toggle( showAll || filter( item ) );
+                       visible = showAll || filter( item );
+                       anyVisible = anyVisible || visible;
+                       item.toggle( visible );
                }
        }
 
+       this.$element.toggleClass( 'oo-ui-menuSelectWidget-invisible', 
!anyVisible );
+
        // Reevaluate clipping
        this.clip();
 };

-- 
To view, visit https://gerrit.wikimedia.org/r/334437
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ice96285426b929764669e99eda962e9dc367d62d
Gerrit-PatchSet: 1
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Bartosz Dziewoński <matma....@gmail.com>
Gerrit-Reviewer: Bartosz Dziewoński <matma....@gmail.com>
Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org>
Gerrit-Reviewer: VolkerE <volke...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to