jenkins-bot has submitted this change and it was merged.
Change subject: Hygiene: Continue merging of Special:Nearby into generic
component
......................................................................
Hygiene: Continue merging of Special:Nearby into generic component
Make SpecialNearby extend Nearby module
Move error handling into generic module
Change-Id: I2b1978552efbad9a912641be60bbea60a1432187
---
M includes/Resources.php
M javascripts/modules/nearby/Nearby.js
M javascripts/specials/nearby.js
3 files changed, 29 insertions(+), 35 deletions(-)
Approvals:
JGonera: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/Resources.php b/includes/Resources.php
index 99e9c07..469170d 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -596,6 +596,8 @@
'mobile-frontend-nearby-distance',
'mobile-frontend-nearby-distance-meters',
// other
+ 'mobile-frontend-nearby-requirements',
+ 'mobile-frontend-nearby-requirements-guidance',
'mobile-frontend-nearby-error',
'mobile-frontend-nearby-error-guidance',
'mobile-frontend-nearby-title',
diff --git a/javascripts/modules/nearby/Nearby.js
b/javascripts/modules/nearby/Nearby.js
index b019b2f..fa53a82 100644
--- a/javascripts/modules/nearby/Nearby.js
+++ b/javascripts/modules/nearby/Nearby.js
@@ -6,6 +6,14 @@
Nearby = View.extend( {
template: M.template.get( 'articleList' ),
+ /**
+ * Renders an error in the existing view
+ *
+ * @param {String} type A string that identifies a particular
type of error message
+ */
+ renderError: function( type ) {
+ this.render( { error: this.errorMessages[ type ] } );
+ },
defaults: {
loadingMessage: mw.msg(
'mobile-frontend-nearby-loading' )
},
@@ -14,9 +22,17 @@
heading: mw.msg(
'mobile-frontend-nearby-noresults' ),
guidance: mw.msg(
'mobile-frontend-nearby-noresults-guidance' )
},
+ location: {
+ heading: mw.msg(
'mobile-frontend-nearby-lookup-ui-error' ),
+ guidance: mw.msg(
'mobile-frontend-nearby-lookup-ui-error-guidance' )
+ },
server: {
heading: mw.msg( 'mobile-frontend-nearby-error'
),
guidance: mw.msg(
'mobile-frontend-nearby-error-guidance' )
+ },
+ incompatible: {
+ heading: mw.msg(
'mobile-frontend-nearby-requirements' ),
+ guidance: mw.msg(
'mobile-frontend-nearby-requirements-guidance' )
}
},
initialize: function( options ) {
@@ -34,13 +50,17 @@
},
postRender: function( options ) {
var self = this;
- if ( !options.pages && !options.error && this.location
) {
+ if ( options.showLoader ) {
+ self.$( '.loading' ).show();
+ } else if ( !options.pages && !options.error &&
this.location ) {
self.$( '.loading' ).show();
this.api.getPages( this.location, range ).done(
function( pages ) {
self.render( { pages: pages } );
} ).fail( function() {
self.render( { error:
self.errorMessages.server } );
} );
+ } else {
+ self.$( '.loading' ).hide();
}
}
} );
diff --git a/javascripts/specials/nearby.js b/javascripts/specials/nearby.js
index 0808536..d5b2370 100644
--- a/javascripts/specials/nearby.js
+++ b/javascripts/specials/nearby.js
@@ -4,49 +4,22 @@
endpoint = mw.config.get( 'wgMFNearbyEndpoint' ),
overlay,
wgMFMode = mw.config.get( 'wgMFMode' ),
+ Nearby = M.require( 'modules/nearby/Nearby' ),
NearbyApi = M.require( 'modules/nearby/NearbyApi' ),
api = new NearbyApi(),
CACHE_KEY_LAST_LOCATION = 'mfNearbyLastKnownLocation';
$( function() {
var supported = M.supportsGeoLocation(),
- View = M.require( 'view' ),
$userBtn = $( '#user-button' ),
- errorMessages = {
- empty: {
- heading: mw.msg(
'mobile-frontend-nearby-noresults' ),
- guidance: mw.msg(
'mobile-frontend-nearby-noresults-guidance' )
- },
- location: {
- heading: mw.msg(
'mobile-frontend-nearby-lookup-ui-error' ),
- guidance: mw.msg(
'mobile-frontend-nearby-lookup-ui-error-guidance' )
- },
- server: {
- heading: mw.msg( 'mobile-frontend-nearby-error'
),
- guidance: mw.msg(
'mobile-frontend-nearby-error-guidance' )
- },
- // recycle it's already in html
- incompatible: {
- heading: $( '#mw-mf-nearby .noscript h2'
).text(),
- guidance: $( '#mw-mf-nearby .noscript p'
).text()
- }
- },
curLocation,
lastKnownLocation = M.settings.getUserSetting(
CACHE_KEY_LAST_LOCATION ),
cache = M.settings.saveUserSetting,
lastSearchResult = M.settings.getUserSetting( CACHE_KEY_RESULTS
),
// FIXME: Adapt modules/nearby/Nearby.js and use that instead
- SpecialNearby = View.extend( {
- template: M.template.get( 'articleList' ),
- /**
- * Renders an error in the existing view
- *
- * @param {String} type A string that identifies a
particular type of error message
- */
- renderError: function( type ) {
- this.render( { error: errorMessages[ type ] } );
- },
- postRender: function() {
+ SpecialNearby = Nearby.extend( {
+ postRender: function( options ) {
+ this._super( options );
var self = this;
this.$( 'a' ).on( 'click', function( ev ) {
var $a = $( ev.currentTarget );
@@ -112,9 +85,8 @@
}
function init() {
- var $content = $( '#mw-mf-nearby' ).empty();
- $( '<div class="content loading"> ').text(
- mw.msg( 'mobile-frontend-nearby-loading' ) ).appendTo(
$content );
+ // FIXME: Move searching for geolocation into Nearby module
+ overlay.render( { showLoader: true } );
navigator.geolocation.getCurrentPosition( function( geo ) {
var lat = geo.coords.latitude, lng =
geo.coords.longitude;
curLocation = { latitude: lat, longitude: lng }; //
save as json so it can be cached bug 48268
--
To view, visit https://gerrit.wikimedia.org/r/80685
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I2b1978552efbad9a912641be60bbea60a1432187
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
Gerrit-Reviewer: JGonera <[email protected]>
Gerrit-Reviewer: Kaldari <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits