User:Altt311/Gadget/patrolEdit.js
外观
< User:Altt311 | Gadget
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
jQuery(function() {
// patrol edit
if (wgAction == 'edit' || wgAction == 'submit') { // edit & preview
var page = new MediaWiki.Page();
page.patrolled({}, function(patrolled) {
if (!patrolled) {
jQuery('#wpMinoredit').before(
'<input type="checkbox" id="wpPatroledit" accesskey="a" /> ' +
'<label for="wpPatroledit" title="Mark this page as patrolled before saving [a]">' +
'同時標記為已巡查</label>\n'
);
}
});
jQuery('#wpSave').click(function(event) {
// if patrolled, #wpPatroledit doesn't exist,
// so jQuery('#wpPatroledit:checked').length always == 0
if (jQuery('#wpPatroledit:checked').length != 0) {
jQuery('#wpSave').attr('disabled', true);
var oldval = jQuery('#wpSave').val();
jQuery('#wpSave').val('巡查中…');
new MediaWiki.Page().patrol({}, function() {
jQuery('#wpSave').val('儲存中…');
jQuery('#editform')[0].submit();
}, function() {
if (confirm('標記巡查不成功。要保存您的修改嗎?')) {
jQuery('#wpSave').val('儲存中…');
jQuery('#editform')[0].submit();
} else {
jQuery('#wpSave').val(oldval);
jQuery('#wpSave').attr('disabled', false);
}
});
return false;
} else {
return true;
}
});
}
// patrol any page
if ((wgAction == 'view' || wgAction == 'purge') && wgNamespaceNumber >= 0) {
var page = new MediaWiki.Page();
page.patrolled({}, function(patrolled) {
if (!patrolled) {
jQuery('.printfooter').before(
'<div class="patrollink">[<a href="#" ' +
'class="ajaxpatrollink">標記為已巡查(Gadget)</a>]</div>'
);
jQuery('.ajaxpatrollink').click(function() {
page.patrol({}, function() {
jQuery('.ajaxpatrollink').replaceWith('已巡查');
}, function() {
alert('不能標記為已巡查。');
});
return false;
});
}
});
}
// patrol link on [[Special:NewPages]]
if (wgCanonicalSpecialPageName == 'Newpages') {
jQuery('li.not-patrolled').each(function() {
var litag = this;
var pageaj = jQuery(jQuery('a', litag)[0]);
pageaj.after(
' (<a href="#" class="newpages_patrollink">巡查</a>) '
);
var patrolaj = jQuery('a.newpages_patrollink', litag);
patrolaj.click(function() {
new MediaWiki.Page(pageaj.text()).patrol({}, function() {
patrolaj.replaceWith('已巡查'); // or simply remove the span?
jQuery(litag).removeClass('not-patrolled');
}, function() {
alert('不能標記[[' + pageaj.text() +
']]為已巡查。');
});
return false;
});
});
}
return false;
});