Khác biệt giữa bản sửa đổi của “Thành viên:Btd2008/minerva.js”

Nội dung được xóa Nội dung được thêm vào
n Đã lùi lại sửa đổi của Btd2008 (Thảo luận) quay về phiên bản cuối của Alphama
Thẻ: Lùi tất cả Sửa đổi di động Sửa đổi từ trang di động Sửa đổi di động nâng cao
Không có tóm lược sửa đổi
Thẻ: Sửa đổi di động Sửa đổi từ trang di động Sửa đổi di động nâng cao
 
Dòng 1:
// mobileUndo 2.0.3, một tiện ích cho phép lùi lại các sửa đổi trên thiết bị di động.
mw.loader.load('//vi.wikipedia.org/w/index.php?title=User:JohnsonLee01/undo.js&action=raw&ctype=text/javascript'); // [[User:JohnsonLee01/undo.js]]
// Tất cả các mã được phát hành theo giấy phép nội dung Wikipedia hiện hành.
// Hướng dẫn sử dụng có tại [[Wikipedia:MobileUndo]].
// <doc> Về cơ bản, đoạn mã này kết nối điểm API cuối với
// nút mw-ui-destructive được thêm vào phần cuối trang
// sử dụng jQuery. Các tính năng khác bao gồm việc
// thay đổi vị trí của nút cảm ơn và thêm hộp thoại xác nhận
// vào nút cảm ơn, để tránh việc chạm nhầm do
// hai nút đó ở vị trí gần với nhau.
// </doc>
//<nowiki>
console.time('mobileUndo');
$.when(mw.loader.using(['mediawiki.util', 'mediawiki.api', 'oojs-ui-windows', 'oojs-ui-core', 'oojs-ui.styles.icons-editing-core'])).then(function() {
return new mw.Api().getMessages(['editundo', 'Undo-nochange']);
}).then(function(globalmessages) {
var mobileUndo, i18n_lang = mw.config.get('wgUserLanguage');
var i18n = {
"vi": {
"mu-success": "Thành công",
"mu-fail": "Thất bại",
"mu-loading": "Đang tải",
"editsummary-ad": " ([[vi:Wikipedia:MobileUndo|mobileUndo]])",
"mu-undo-successful": "Lùi sửa thành công.... Sẽ tải lại trong giây lát",
"mu-empty-reponse-from-server": "Máy chủ không phản hồi",
"mu-edit-summary-prompt": "Thêm lý do vào phần tóm lược sửa đổi!",
"mu-edit-summary-prompt-placeholder": "Lý do...",
"mu-thank-success": "Đã cảm ơn",
"mu-thank-confirm": "Gửi lời cảm ơn công khai?",
"mu-thank-loading": "Đang cảm ơn...",
"mu-thank-successful": "Bạn đã cảm ơn $1.",
"mu-thank-failed": "Không thể cảm ơn $1.",
"mu-http-error":"Lỗi HTTP: "
}
};
if(undefined === i18n[i18n_lang]){
i18n_lang = 'en';
}
if (mw.config.get('wgCanonicalSpecialPageName') === 'MobileDiff') {
mw.util.addCSS('#mw-mf-userinfo .mobileUndo-ui .mw-ui-icon.mw-ui-icon-before:before{display:none;}\n#mobileUndo > a > span.oo-ui-iconElement-icon.oo-ui-icon-editUndo.oo-ui-image-invert{display:inline-block; position:initial;}\n#mobileUndo > a{padding:0.57142857em 0.9375em;}'+
'#mw-mf-userinfo > div > div.mobileUndo-ui > a > div{line-height:normal;}');
if (mw.config.get('wgVisualEditor').pageLanguageDir === 'ltr') {
$('#mw-mf-userinfo .post-content').append($('<div>').attr('class', 'mobileUndo-ui').css({
'display': 'inline-block',
'float': 'right'
}));
} else {
$('#mw-mf-userinfo .post-content').append($('<div>').attr('class', 'mobileUndo-ui').css({
'display': 'inline-block',
'float': 'left'
}));
}
$('.mobileUndo-ui').append($('.mw-mf-action-button').remove().css({
'clear': 'none'
}));
if (!$('.warningbox').length && mw.config.get('wgRelevantPageIsProbablyEditable')) {
mobileUndo = new OO.ui.ButtonWidget({
label: (globalmessages.editundo).charAt(0).toUpperCase() + (globalmessages.editundo).slice(1),
icon: 'editUndo',
title: 'mobileUndo',
flags: ['destructive', 'primary'],
id: 'mobileUndo'
});
$('.mobileUndo-ui').append(mobileUndo.$element);
if (mw.config.get('wgVisualEditor').pageLanguageDir === 'ltr') {
$('#mobileUndo').css('margin-right', '0.3em');
} else {
$('#mobileUndo').css('margin-left', '0.3em');
}
}
window.wgRelevantUser = function() {
var user;
if ($('.mw-mf-user-link').text() !== '') {
user = $('.mw-mf-user-link').text();
} else {
user = $('#mw-mf-userinfo .post-content div:nth-child(2)').text();
}
return user;
};
window.wgRevId = ($('#mw-mf-diffarea > div.mw-mf-diff-info > h3 > a').attr('href')).split('&oldid=')[1];
var revId = wgRevId;
console.log(revId);
var username = wgRelevantUser();
$('#mw-mf-userinfo .post-content .mobileUndo-ui .mw-mf-action-button').click(function(e) {
e.preventDefault();
OO.ui.confirm(i18n[i18n_lang]['mu-thank-confirm']).done(function(confirmed) {
if (confirmed) {
$('.mw-mf-action-button').css('pointer-events', 'none').text(i18n[i18n_lang]['mu-thank-loading']);
var api = new mw.Api();
api.postWithToken('csrf', {
action: "thank",
rev: revId,
}).done(function(result) {
mw.notify((i18n[i18n_lang]['mu-thank-successful']).replace(/\$1/g, username));
$('.mw-mf-action-button').text(i18n[i18n_lang]['mu-thank-success']);
}).fail(function() {
mw.notify((i18n[i18n_lang]['mu-thank-failed']).replace(/\$1/g, username));
$('.mw-mf-action-button').text(i18n[i18n_lang]['mu-failed']);
});
}
});
});
console.timeEnd('mobileUndo');
mobileUndo.on('click', function() {
OO.ui.prompt(i18n[i18n_lang]['mu-edit-summary-prompt'], {
textInput: {
placeholder: i18n[i18n_lang]['mu-edit-summary-prompt-placeholder']
}
}).done(function(customEditSummary) {
$.when(mw.loader.using('mediawiki.api')).then(function() {
return new mw.Api().getMessages(['undo-summary'], {
amlang: mw.config.get('wgServerName').split('.wik')[0]
});
}).then(function(message) {
var editSummaryMessage = message['undo-summary'];
var editSummary = editSummaryMessage.replace(/\$1/g, revId);
editSummary = editSummary.replace(/\$2/g, username);
if (customEditSummary !== null) {
mobileUndo.setDisabled(true);
editSummary = editSummary + ' ' + customEditSummary + (i18n[i18n_lang]['editsummary-ad']);
//call the API
var api = new mw.Api({
ajax: {
headers: {
'Api-User-Agent': 'mobileUndo/2.0.2(https://en.wikipedia.org/wiki/User:FR30799386/undo.js)'
}
}
});
//Feedback UI
mobileUndo.setLabel(i18n[i18n_lang]['mu-loading']);
api.postWithToken('csrf', {
action: "edit",
title: mw.config.get('wgRelevantPageName'),
summary: editSummary,
undo: revId,
}).done(function(result) {
if (result.edit.code === 'abusefilter-warning' || result.edit.code === 'abusefilter-disallowed') {
mobileUndo.setLabel(i18n[i18n_lang]['mu-fail']);
OO.ui.alert($('<p>').html(result.edit.warning), {
title: result.edit.info
}).done(function() {});
return;
} else if (typeof result.edit.nochange !== 'undefined') {
mobileUndo.setLabel(i18n[i18n_lang]['mu-fail']);
OO.ui.alert($('<p>').html(globalmessages['Undo-nochange'])).done(function() {});
return;
}
console.log(result);
mobileUndo.setLabel(i18n[i18n_lang]['mu-success']);
mw.notify(i18n[i18n_lang]['mu-undo-successful']);
setTimeout(function() {
location.href = mw.util.getUrl('Special:MobileDiff/' + result.edit.newrevid);
}, 1500);
}).fail(function(code, jqxhr) {
mobileUndo.setLabel(i18n[i18n_lang]['mu-fail']);
var details;
if (code === 'http' && jqxhr.textStatus === 'error') {
details = i18n[i18n_lang]['mu-http-error'] + jqxhr.xhr.status;
} else if (code === 'http') {
details = i18n[i18n_lang]['mu-http-error'] + jqxhr.textStatus;
} else if (code === 'ok-but-empty') {
details = i18n[i18n_lang]['mu-empty response-from-server'];
} else {
details = jqxhr.error.info;
}
OO.ui.alert($('<p>').html(details)).done(function() {});
});
}
});
});
});
}
});
//Kết thúc đoạn mã
//</nowiki>