MediaWiki:Gadget-markreview.js

From Taranaki Lab Manual
Revision as of 16:04, 8 September 2025 by Chris Greenwood (Cge) (talk | contribs) (Created page with "mw.loader.using(['mediawiki.api', 'mediawiki.util', 'mediawiki.user']).then(function () { var owner = document.querySelector('.doc-meta')?.getAttribute('data-owner'); var user = mw.config.get('wgUserName'); if (!owner || !user || owner.toLowerCase() !== user.toLowerCase()) { return; // Not the owner, don't show button } var link = mw.util.addPortletLink( 'p-cactions', '#', 'Mark as reviewed', 'ca-markreview',...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
mw.loader.using(['mediawiki.api', 'mediawiki.util', 'mediawiki.user']).then(function () {
    var owner = document.querySelector('.doc-meta')?.getAttribute('data-owner');
    var user = mw.config.get('wgUserName');

    if (!owner || !user || owner.toLowerCase() !== user.toLowerCase()) {
        return; // Not the owner, don't show button
    }

    var link = mw.util.addPortletLink(
        'p-cactions',
        '#',
        'Mark as reviewed',
        'ca-markreview',
        'Mark this page as reviewed'
    );

    link.addEventListener('click', function (e) {
        e.preventDefault();
        var page = mw.config.get('wgPageName');
        var stamp = new Date().toISOString();
        var api = new mw.Api();

        api.postWithToken('csrf', {
            action: 'edit',
            title: page,
            summary: 'Mark as reviewed',
            appendtext: '\n<!-- review-ping: ' + stamp + ' -->',
            minor: true,
            nocreate: true
        }).done(function () {
            location.reload();
        }).fail(function (err) {
            mw.notify('Review failed: ' + err, { type: 'error' });
        });
    });
});