diff --git a/tfdclerk.js b/tfdclerk.js index ba12e84..fd48592 100644 --- a/tfdclerk.js +++ b/tfdclerk.js @@ -375,16 +375,39 @@ TFD.prototype._build_close_results = function() { return elems; }; -TFD.prototype._on_backlink_summary = function(page, tlinfo, ntrans, nlinks) { +TFD.prototype._on_backlink_summary = function(page, tlinfo, ntrans, nmtrans, + nlinks) { tlinfo.empty().append($("
  • ").append($("", { - href: "/foobar", // TODO: actual URL here + href: mw.util.getUrl("Special:WhatLinksHere/" + page, { + namespace: "", + hidelinks: 1, + hideredirs: 1, + hidetrans: 0 + }), title: "Transclusions of " + page, text: ntrans + " transclusions" }))); + if (ntrans != 0) + tlinfo.append($("
  • ").append($("", { + href: mw.util.getUrl("Special:WhatLinksHere/" + page, { + namespace: 0, + hidelinks: 1, + hideredirs: 1, + hidetrans: 0 + }), + title: "Mainspace transclusions of " + page, + text: nmtrans + " in mainspace" + }))); + if (nlinks != 0) tlinfo.append($("
  • ").append($("", { - href: "/foobar", // TODO: actual URL here + href: mw.util.getUrl("Special:WhatLinksHere/" + page, { + namespace: "", + hidelinks: 0, + hideredirs: 0, + hidetrans: 1 + }), title: "Mainspace links to " + page, text: nlinks + " mainspace links" }))); @@ -402,26 +425,31 @@ TFD.prototype._load_backlink_summary = function(page, tlinfo) { bllimit: limit, blredirect: "" }, function(data) { - if (data["continue"] && data["continue"].eicontinue) - var ntrans = limit + "+"; - else - var ntrans = data.query.embeddedin.length; + var ntrans = data.query.embeddedin.length; + var nmtrans = data.query.embeddedin.filter(function(pg) { + return pg.ns == 0; + }).length; + var nlinks = data.query.backlinks.reduce(function(acc, pg) { + var c = 0; + if (pg.ns == 0) + c++; + if (pg.redirlinks) + c += pg.redirlinks.filter(function(rl) { + return rl.ns == 0; + }).length; + return acc + c; + }, 0); + + if (data["continue"]) { + if (data["continue"].eicontinue) { + ntrans += "+"; + nmtrans += "+"; + } + if (data["continue"].blcontinue) + nlinks += "+"; + } - if (data["continue"] && data["continue"].blcontinue) - var nlinks = limit + "+"; - else - var nlinks = data.query.backlinks.reduce(function(acc, pg) { - var c = 0; - if (pg.ns == 0) - c++; - if (pg.redirlinks) - c += pg.redirlinks.filter(function(rl) { - return rl.ns == 0; - }).length; - return acc + c; - }, 0); - - this._on_backlink_summary(page, tlinfo, ntrans, nlinks); + this._on_backlink_summary(page, tlinfo, ntrans, nmtrans, nlinks); }); }