User:Quarl/wikiwatch.js
// User:Quarl/wikiwatch.js - utility functions for manipulating watchlist
// quarl 2006-01-09 (initial asynchronous implementation at unwatch.js)
// quarl 2006-02-03 factored out to utility library
// depends: wikipage.js, util.js
//
var wikiwatch = new Object();
wikiwatch.unwatchAsync = function(wp, callback, statusNode, statusText) {
wp = wp.notalkPage();
var url = wp.qurl + '&action=unwatch';
buttonShowStatus(statusNode, statusText);
asyncDownloadXML(url, wikiwatch._unwatchDownloaded, {page: wp.page, callback: callback, statusNode: statusNode});
}
wikiwatch.watchAsync = function(wp, callback, statusNode, statusText) {
wp = wp.notalkPage();
var url = wp.qurl + '&action=watch';
buttonShowStatus(statusNode, statusText);
asyncDownloadXML(url, wikiwatch._watchDownloaded, {page: wp.page, callback: callback, statusNode: statusNode});
}
wikiwatch._unwatchDownloaded = function(req) {
buttonRestoreStatus(req.statusNode);
var m1; var m2;
if ((req.status == 200) &&
(m1= req.responseText.match(/The page "(.*?)" has been removed from your watchlist/)) &&
(m2= req.responseText.match(/