Jdlrobson has submitted this change and it was merged.
Change subject: Make talk overlay use M.history.retrievePage
......................................................................
Make talk overlay use M.history.retrievePage
Change-Id: Icbcb6df77c721b106c1f42db2200c100b7bbfc3b
---
M javascripts/modules/talk.js
1 file changed, 31 insertions(+), 30 deletions(-)
Approvals:
JGonera: Verified; Looks good to me, approved
Jdlrobson: Verified; Looks good to me, approved
jenkins-bot: Checked
diff --git a/javascripts/modules/talk.js b/javascripts/modules/talk.js
index 7ca3670..66ece3d 100644
--- a/javascripts/modules/talk.js
+++ b/javascripts/modules/talk.js
@@ -67,6 +67,16 @@
window.scrollTo( 0, $newTopic.offset().top );
// FIXME: add fade in animation
},
+ preRender: function( options ) {
+ var page = options.page,
+ sections = page.getSubSections(),
+ explanation = sections.length > 0 ?
mw.msg( 'mobile-frontend-talk-explained' ) :
+ mw.msg(
'mobile-frontend-talk-explained-empty' );
+
+ options.sections = sections;
+ options.explanation = explanation;
+ this._super( options );
+ },
initialize: function( options ) {
var self = this,
$add = this.$( 'button.add' ),
@@ -102,45 +112,36 @@
}
}
} ),
- Page = M.require( 'page'),
- req;
+ Page = M.require( 'page' );
+
+ function renderTalkOverlay( pageData ) {
+ var topOverlay,
+ page = new Page( pageData );
+
+ topOverlay = new TalkOverlay( {
+ heading: mw.msg( 'mobile-frontend-talk-overlay-header'
),
+ leadHeading: mw.msg(
'mobile-frontend-talk-overlay-lead-header' ),
+ page: page
+ } );
+ topOverlay.show();
+ }
function onTalkClick( ev ) {
var $talk = $( this ), talkPage = $talk.data( 'title' );
// FIXME: this currently gives an indication something async is
happening. We can do better.
$talk.css( 'opacity', 0.2 );
ev.preventDefault();
- req = req || api.get( {
- action: 'mobileview', page: talkPage,
- variant: mw.config.get( 'wgPreferredVariant' ),
- prop: 'sections|text', noheadings: 'yes',
- noimages: mw.config.get( 'wgImagesDisabled', false ) ?
1 : undefined,
- sectionprop: 'level|line|anchor', sections: 'all'
- } );
- req.done( function( resp ) {
- var topOverlay, sections, page,
- explanation;
- if ( resp.error ) {
- // page doesn't exist
- page = new Page( { sections: {} } );
+ M.history.retrievePage( talkPage ).fail( function( resp ) {
+ if ( resp.error && resp.error.code === 'missingtitle' )
{
+ renderTalkOverlay( {
+ sections: [], title: talkPage
+ } );
} else {
- page = new Page( { sections:
resp.mobileview.sections } );
+ $talk.css( 'opacity', '' );
}
-
- $talk.css( 'opacity', '' );
- sections = page.getSubSections();
- explanation = sections.length > 0 ? mw.msg(
'mobile-frontend-talk-explained' ) :
- mw.msg( 'mobile-frontend-talk-explained-empty'
);
- topOverlay = new TalkOverlay( {
- heading: mw.msg(
'mobile-frontend-talk-overlay-header' ),
- leadHeading: leadHeading,
- explanation: explanation,
- page: page,
- sections: sections
- } );
- topOverlay.show();
- } ).error( function() {
+ } ).done( function( pageData ) {
+ renderTalkOverlay( pageData );
$talk.css( 'opacity', '' );
} );
}
--
To view, visit https://gerrit.wikimedia.org/r/67201
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Icbcb6df77c721b106c1f42db2200c100b7bbfc3b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
Gerrit-Reviewer: JGonera <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits