jenkins-bot has submitted this change and it was merged.

Change subject: Hygiene: Panels should not automatically be appended to DOM
......................................................................


Hygiene: Panels should not automatically be appended to DOM

The panel is exhibiting the behaviour of a drawer which creates problems
when you try to insert a Panel inside another view e.g. an overlay

A Drawer is something that gets added to the bottom of the page
A Panel can be used anywhere.

Note this *might* require a change to WikiGrokDialog but I don't understand
that code well enough to know how to do this.

Bug: T96176
Change-Id: Id171118c104a872f7e2e00de57cc125645cb4207
---
M javascripts/Drawer.js
M javascripts/Panel.js
2 files changed, 12 insertions(+), 13 deletions(-)

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



diff --git a/javascripts/Drawer.js b/javascripts/Drawer.js
index c7f039a..d826c49 100644
--- a/javascripts/Drawer.js
+++ b/javascripts/Drawer.js
@@ -10,6 +10,10 @@
         */
        Drawer = Panel.extend( {
                className: 'drawer position-fixed',
+               /**
+                * Defines an element that the Drawer should automatically be 
appended to.
+                * @property {String}
+                */
                appendToElement: '#mw-mf-viewport',
                closeOnScroll: true,
                events: $.extend( {}, Panel.prototype.events, {
@@ -18,7 +22,12 @@
 
                /** @inheritdoc */
                postRender: function () {
-                       Panel.prototype.postRender.apply( this, arguments );
+                       var self = this;
+                       // This module might be loaded at the top of the page 
e.g. Special:Uploads
+                       // Thus ensure we wait for the DOM to be loaded
+                       $( function () {
+                               self.appendTo( self.appendToElement );
+                       } );
                        this.on( 'show', $.proxy( this, 'onShowDrawer' ) );
                        this.on( 'hide', $.proxy( this, 'onHideDrawer' ) );
                },
diff --git a/javascripts/Panel.js b/javascripts/Panel.js
index 919a885..0dd8e13 100644
--- a/javascripts/Panel.js
+++ b/javascripts/Panel.js
@@ -1,4 +1,4 @@
-( function ( M, $ ) {
+( function ( M ) {
 
        var View = M.require( 'View' ),
                Panel;
@@ -12,18 +12,8 @@
                className: 'panel',
                // in milliseconds
                minHideDelay: 10,
-               appendToElement: '#content',
                events: {
                        'click .cancel': 'onCancel'
-               },
-               /** @inheritdoc */
-               postRender: function () {
-                       var self = this;
-                       // This module might be loaded at the top of the page 
e.g. Special:Uploads
-                       // Thus ensure we wait for the DOM to be loaded
-                       $( function () {
-                               self.appendTo( self.appendToElement );
-                       } );
                },
 
                /**
@@ -90,4 +80,4 @@
 
        M.define( 'Panel', Panel );
 
-}( mw.mobileFrontend, jQuery ) );
+}( mw.mobileFrontend ) );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id171118c104a872f7e2e00de57cc125645cb4207
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org>
Gerrit-Reviewer: Bmansurov <bmansu...@wikimedia.org>
Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org>
Gerrit-Reviewer: Phuedx <g...@samsmith.io>
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