Просмотр исходного кода

Add backlink summary links. Show mainspace transclusions.

develop
Ben Kurtovic 9 лет назад
Родитель
Сommit
34efb91006
1 измененных файлов: 50 добавлений и 22 удалений
  1. +50
    -22
      tfdclerk.js

+ 50
- 22
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($("<li/>").append($("<a/>", {
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($("<li/>").append($("<a/>", {
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($("<li/>").append($("<a/>", {
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);
});
}



Загрузка…
Отмена
Сохранить