MediaWiki:Common.js:修订间差异
外观
第1行: | 第1行: | ||
mw.loader.using(['mediawiki.util | mw.loader.using(['mediawiki.util', 'oojs-ui'], function () { | ||
if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload') { | if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload') { | ||
// | // 创建窗口管理器 | ||
var windowManager = new OO.ui.WindowManager(); | var windowManager = new OO.ui.WindowManager(); | ||
$(document.body).append(windowManager.$element); | $(document.body).append(windowManager.$element); | ||
// | // 自定义对话框 | ||
var | var UploadDialog = function (config) { | ||
title: ' | UploadDialog.super.call(this, config); | ||
}; | |||
OO.inheritClass(UploadDialog, OO.ui.ProcessDialog); | |||
UploadDialog.static.name = 'UploadDialog'; | |||
UploadDialog.static.title = '选择上传方式'; | |||
UploadDialog.static.actions = [ | |||
{ | |||
label: '✅ 使用新版上传方式(推荐)', | |||
flags: ['primary', 'progressive'], | |||
action: 'gotoWizard' | |||
}, | |||
{ | |||
label: '❌ 继续使用传统上传方式', | |||
flags: ['safe'], | |||
action: 'stayHere' | |||
} | |||
]; | |||
UploadDialog.prototype.initialize = function () { | |||
UploadDialog.super.prototype.initialize.call(this); | |||
this.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); | |||
this.content.$element.append( | |||
$('<p>').text('本站推荐使用新版上传工具,它支持:'), | $('<p>').text('本站推荐使用新版上传工具,它支持:'), | ||
$('<ul>').append( | $('<ul>').append( | ||
第19行: | 第38行: | ||
), | ), | ||
$('<p>').text('你想要使用哪种上传方式?') | $('<p>').text('你想要使用哪种上传方式?') | ||
) | ); | ||
this.$body.append(this.content.$element); | |||
}; | }; | ||
UploadDialog.prototype.getActionProcess = function (action) { | |||
if (action === 'gotoWizard') { | |||
// 点击按钮立即跳转,不等待窗口关闭 | |||
window.location.href = mw.util.getUrl('Special:UploadWizard'); | |||
return new OO.ui.Process(); // 返回一个空的动作流程以防出错 | |||
} else if (action === 'stayHere') { | |||
// 什么也不做,直接关闭窗口 | |||
return new OO.ui.Process(() => this.close({ action: 'stayHere' })); | |||
} | } | ||
}); | return UploadDialog.super.prototype.getActionProcess.call(this, action); | ||
}; | |||
// 创建对话框实例并打开 | |||
var dialog = new UploadDialog(); | |||
windowManager.addWindows([dialog]); | |||
windowManager.openWindow(dialog); | |||
} | } | ||
}); | }); |
2025年5月10日 (六) 11:32的版本
mw.loader.using(['mediawiki.util', 'oojs-ui'], function () { if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload') { // 创建窗口管理器 var windowManager = new OO.ui.WindowManager(); $(document.body).append(windowManager.$element); // 自定义对话框 var UploadDialog = function (config) { UploadDialog.super.call(this, config); }; OO.inheritClass(UploadDialog, OO.ui.ProcessDialog); UploadDialog.static.name = 'UploadDialog'; UploadDialog.static.title = '选择上传方式'; UploadDialog.static.actions = [ { label: '✅ 使用新版上传方式(推荐)', flags: ['primary', 'progressive'], action: 'gotoWizard' }, { label: '❌ 继续使用传统上传方式', flags: ['safe'], action: 'stayHere' } ]; UploadDialog.prototype.initialize = function () { UploadDialog.super.prototype.initialize.call(this); this.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); this.content.$element.append( $('<p>').text('本站推荐使用新版上传工具,它支持:'), $('<ul>').append( $('<li>').text('上传进度条显示'), $('<li>').text('多文件上传'), $('<li>').text('更友好的界面') ), $('<p>').text('你想要使用哪种上传方式?') ); this.$body.append(this.content.$element); }; UploadDialog.prototype.getActionProcess = function (action) { if (action === 'gotoWizard') { // 点击按钮立即跳转,不等待窗口关闭 window.location.href = mw.util.getUrl('Special:UploadWizard'); return new OO.ui.Process(); // 返回一个空的动作流程以防出错 } else if (action === 'stayHere') { // 什么也不做,直接关闭窗口 return new OO.ui.Process(() => this.close({ action: 'stayHere' })); } return UploadDialog.super.prototype.getActionProcess.call(this, action); }; // 创建对话框实例并打开 var dialog = new UploadDialog(); windowManager.addWindows([dialog]); windowManager.openWindow(dialog); } });