X-Git-Url: http://git.cyclocoop.org/%28?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.special.watchlist%2Fwatchlist.js;h=070c12f532ca9596a1cd5573a3edd0d9d015d729;hb=c5c7980c7dc30644fab9ef2822bd7053a542593a;hp=565ed2c974dc12d917cf5e72144d36bc66f8225b;hpb=967a96e7fa5910f8fc451590decb381dbfb481ba;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.special.watchlist/watchlist.js b/resources/src/mediawiki.special.watchlist/watchlist.js index 565ed2c974..070c12f532 100644 --- a/resources/src/mediawiki.special.watchlist/watchlist.js +++ b/resources/src/mediawiki.special.watchlist/watchlist.js @@ -64,17 +64,15 @@ $watchlistLine = $unwatchLink.closest( 'li, table' ) .find( '[data-target-page]' ), pageTitle = $watchlistLine.data( 'targetPage' ), - isTalk = mw.Title.newFromText( pageTitle ).getNamespaceId() % 2 === 1; + isTalk = mw.Title.newFromText( pageTitle ).isTalkPage(); // Utility function for looping through each watchlist line that matches // a certain page or its associated page (e.g. Talk) function forEachMatchingTitle( title, callback ) { var titleObj = mw.Title.newFromText( title ), - pageNamespaceId = titleObj.getNamespaceId(), - isTalk = pageNamespaceId % 2 === 1, - associatedTitle = mw.Title.makeTitle( isTalk ? pageNamespaceId - 1 : pageNamespaceId + 1, - titleObj.getMainText() ).getPrefixedText(); + associatedTitleObj = titleObj.isTalkPage() ? titleObj.getSubjectPage() : titleObj.getTalkPage(), + associatedTitle = associatedTitleObj.getPrefixedText(); $( '.mw-changeslist-line' ).each( function () { var $this = $( this ), $row, $unwatchLink;