Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/181702

Change subject: Hygiene: Kill closeOnBack property and OverlayManager FIXMEs
......................................................................

Hygiene: Kill closeOnBack property and OverlayManager FIXMEs

All overlays now use the overlay manager and all future overlays
should also use the overlay manager

Thus all overlays should close on back.

Move methods needed by search from Overlay to SearchOverlay and attempt
to kill them in a future patch

Update out of date FIXMEs.

Change-Id: Ifb048a60106cf141d91c4ca1478a8e0c4efa7836
---
M javascripts/Overlay.js
M javascripts/Router.js
M javascripts/modules/mediaViewer/ImageOverlay.js
M javascripts/modules/search/SearchOverlay.js
4 files changed, 19 insertions(+), 39 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/02/181702/1

diff --git a/javascripts/Overlay.js b/javascripts/Overlay.js
index 52d7457..3d6c93a 100644
--- a/javascripts/Overlay.js
+++ b/javascripts/Overlay.js
@@ -22,11 +22,6 @@
                 */
                hasFixedHeader: true,
                /**
-                * FIXME: remove when OverlayManager used everywhere
-                * @type {Boolean}
-                */
-               closeOnBack: false,
-               /**
                 * Is overlay fullscreen
                 * @type {Boolean}
                 */
@@ -104,11 +99,7 @@
                        this.$( '.cancel, .confirm, .initial-header .back' 
).on( 'click', function ( ev ) {
                                ev.preventDefault();
                                ev.stopPropagation();
-                               if ( self.closeOnBack ) {
-                                       window.history.back();
-                               } else {
-                                       self.hide();
-                               }
+                               window.history.back();
                        } );
                        // stop clicks in the overlay from propagating to the 
page
                        // (prevents non-fullscreen overlays from being closed 
when they're tapped)
@@ -144,33 +135,11 @@
                },
 
                /**
-                * Hide self when the route is visited
-                * @method
-                * @private
-                * FIXME: remove when OverlayManager used everywhere
-                */
-               _hideOnRoute: function () {
-                       var self = this;
-                       M.router.once( 'route', function ( ev ) {
-                               if ( !self.hide() ) {
-                                       ev.preventDefault();
-                                       self._hideOnRoute();
-                               }
-                       } );
-               },
-
-               /**
                 * Attach overlay to current view and show it.
                 * @method
                 */
                show: function () {
                        var self = this;
-
-                       // FIXME: remove when OverlayManager used everywhere
-                       if ( this.closeOnBack ) {
-                               this._hideOnRoute();
-                       }
-
                        this.$el.appendTo( this.appendTo );
                        this.scrollTop = document.body.scrollTop;
 
diff --git a/javascripts/Router.js b/javascripts/Router.js
index ede71d4..ffde8ed 100644
--- a/javascripts/Router.js
+++ b/javascripts/Router.js
@@ -1,3 +1,4 @@
+// FIXME: Merge this code with OverlayManager
 ( function ( M, $ ) {
 
        var key,
@@ -11,7 +12,6 @@
         * @param {String} hash String to match
         * @param {Object} entry Entry object
         * @returns {Boolean} Whether hash matches entry.path
-        * FIXME: remove when OverlayManager used everywhere
         */
        function matchRoute( hash, entry ) {
                var match = hash.match( entry.path );
@@ -71,7 +71,6 @@
                Router.prototype[ key ] = EventEmitter.prototype[ key ];
        }
 
-       // FIXME: remove when OverlayManager used everywhere
        /**
         * Check the current route and run appropriate callback if it matches.
         * @method
@@ -86,7 +85,6 @@
 
        /**
         * Bind a specific callback to a hash-based route, e.g.
-        * FIXME: remove when OverlayManager used everywhere
         *
         *     @example
         *     route( 'alert', function () { alert( 'something' ); } );
diff --git a/javascripts/modules/mediaViewer/ImageOverlay.js 
b/javascripts/modules/mediaViewer/ImageOverlay.js
index 03e9017..a23fc8d 100644
--- a/javascripts/modules/mediaViewer/ImageOverlay.js
+++ b/javascripts/modules/mediaViewer/ImageOverlay.js
@@ -18,7 +18,6 @@
                hasFixedHeader: false,
                className: 'overlay media-viewer',
                template: mw.template.get( 'mobile.mediaViewer', 
'Overlay.hogan' ),
-               closeOnBack: true,
 
                /**
                 * @inheritdoc
diff --git a/javascripts/modules/search/SearchOverlay.js 
b/javascripts/modules/search/SearchOverlay.js
index c684a04..f7cf980 100644
--- a/javascripts/modules/search/SearchOverlay.js
+++ b/javascripts/modules/search/SearchOverlay.js
@@ -50,7 +50,22 @@
                        searchContentNoResultsMsg: mw.msg( 
'mobile-frontend-search-content-no-results' ),
                        action: mw.config.get( 'wgScript' )
                },
-               closeOnBack: false,
+
+               /**
+                * Hide self when the route is visited
+                * @method
+                * @private
+                * FIXME: Remove when search registers route with overlay 
manager
+                */
+               _hideOnRoute: function () {
+                       var self = this;
+                       M.router.once( 'route', function ( ev ) {
+                               if ( !self.hide() ) {
+                                       ev.preventDefault();
+                                       self._hideOnRoute();
+                               }
+                       } );
+               },
 
                /** @inheritdoc */
                initialize: function ( options ) {
@@ -58,10 +73,9 @@
                        Overlay.prototype.initialize.call( this, options );
                        this.api = new SearchApi();
 
-                       // FIXME: horrible, remove when we get overlay manager
+                       // FIXME: Remove when search registers route with 
overlay manager
                        // we need this because of the focus/delay hack in 
search.js
                        M.router.once( 'route', function () {
-                               self.closeOnBack = true;
                                self._hideOnRoute();
                        } );
                },

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifb048a60106cf141d91c4ca1478a8e0c4efa7836
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org>

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

Reply via email to