User:Monster Domosed/common.js: Difference between revisions

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)
          $('<span class="recent-changes-time"></span>').text(timeText)
        )
         .append(document.createTextNode(' · '))
         .append(document.createTextNode(' · '))
         .append($userLink);
         .append($userLink);
Line 137: Line 153:
     );
     );


$('#p-Navigation').after($portlet);
    $('#p-Navigation').after($portlet);


     return $portlet.find('.recent-changes-widget');
     return $portlet.find('.recent-changes-widget');