User:Monster Domosed/common.js: Difference between revisionsGive feedback
No edit summary |
No edit summary |
||
| Line 27: | Line 27: | ||
return diffSeconds < 0 ? 'in ' + n + short : n + short + ' ago'; | return diffSeconds < 0 ? 'in ' + n + short : n + short + ' ago'; | ||
} | |||
function getDiffUrl(item) { | |||
if (item.revid && item.old_revid && parseInt(item.old_revid, 10) > 0) { | |||
return mw.util.getUrl('Special:Diff/' + item.revid + '/' + item.old_revid); | |||
} | |||
if (item.revid) { | |||
return mw.util.getUrl('Special:Diff/' + item.revid); | |||
} | |||
return mw.util.getUrl('Special:RecentChanges'); | |||
} | } | ||
| Line 36: | Line 48: | ||
var userName = item.user || 'Unknown'; | var userName = item.user || 'Unknown'; | ||
var timeText = formatRelativeTime(item.timestamp); | var timeText = formatRelativeTime(item.timestamp); | ||
var diffUrl = getDiffUrl(item); | |||
var $li = $('<li class="mw-list-item recent-changes-item"></li>') | var $li = $('<li class="mw-list-item recent-changes-item"></li>') | ||
| Line 53: | Line 66: | ||
$userLink = $('<span class="recent-changes-user"></span>').text(userName); | $userLink = $('<span class="recent-changes-user"></span>').text(userName); | ||
} | } | ||
var $timeLink = $('<a class="recent-changes-time"></a>') | |||
.attr('href', diffUrl) | |||
.attr('title', 'View diff for ' + item.title) | |||
.text(timeText); | |||
var $meta = $('<div class="recent-changes-meta"></div>') | var $meta = $('<div class="recent-changes-meta"></div>') | ||
.append( | .append($timeLink) | ||
.append(document.createTextNode(' · ')) | .append(document.createTextNode(' · ')) | ||
.append($userLink); | .append($userLink); | ||
| Line 137: | Line 153: | ||
); | ); | ||
$('#p-Navigation').after($portlet); | |||
return $portlet.find('.recent-changes-widget'); | return $portlet.find('.recent-changes-widget'); | ||