User:Danski454/unwatch.js

/* * Based off Unwatch from watchlist * @source https://www.mediawiki.org/wiki/Snippets/Unwatch_from_watchlist * @author Krinkle * @revision 2016-09-01 $(document).ready(function{	if ( mw.config.get( 'wgCanonicalSpecialPageName' ) !== 'Watchlist' || location.href.indexOf( '/edit' ) > 0 || location.href.indexOf( '/raw' ) > 0 ) {		return;	}	mw.hook( 'wikipage.content' ).add(function{ $(".mw-changeslist-line-inner").each(function{			var line = $(this);			if (line.find(".unwatch-link").length) {				return;//do not add infinite links			}			if (typeof unwatchAJAX !== "undefined" && unwatchAJAX) {// add window.unwatchAJAX = true; to appropriate code file to enable AJAX links				line.append(' [unwatch] ');//add fake link				line.find(".unwatch-link a").click(function{ var page = $(this).parent.parent.attr('data-target-page');//get page name var api = new mw.Api; api.unwatch(page).done(function(watch){//unwatch it						$('.mw-changeslist-line-inner[data-target-page="' + watch.title + '"] .unwatch-link').html("[unwatched]");//say page has been unwatched						//do the same for associated page						var titleObj = new mw.Title(watch.title);						if (titleObj.isTalkPage) {							//console.log(titleObj.getSubjectPage.toText);							$('.mw-changeslist-line-inner[data-target-page="' + titleObj.getSubjectPage.toText + '"] .unwatch-link')								.html("[unwatched]");//say assosciated page has been unwatched						} else if (titleObj.getTalkPage) {//make sure it is not null							//console.log(titleObj.getTalkPage.toText);							$('.mw-changeslist-line-inner[data-target-page="' + titleObj.getTalkPage.toText + '"] .unwatch-link')								.html("[unwatched]");//say assosciated page has been unwatched						}					}); });			} else {				var href = line.find(".mw-changeslist-history").attr("href");				if (href) {					href = href .replace("action=history", "action=unwatch");					line.append(' [unwatch] ');				}			}		}); }); });