MediaWiki:Common.js:修订间差异
外观
第15行: | 第15行: | ||
UploadDialog.static.title = '选择上传方式'; | UploadDialog.static.title = '选择上传方式'; | ||
UploadDialog.static.actions = [ | UploadDialog.static.actions = [ | ||
{ | { | ||
label: '❌ 继续使用传统上传方式', | label: '❌ 继续使用传统上传方式', | ||
第29行: | 第24行: | ||
UploadDialog.prototype.initialize = function () { | UploadDialog.prototype.initialize = function () { | ||
UploadDialog.super.prototype.initialize.call(this); | UploadDialog.super.prototype.initialize.call(this); | ||
// 创建内容面板 | |||
this.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); | this.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); | ||
// 创建链接按钮(不是 JS 跳转) | |||
var linkButton = new OO.ui.ButtonWidget({ | |||
label: '✅ 使用新版上传工具(推荐)', | |||
classes: ['upload-redirect-button'], | |||
flags: ['progressive', 'primary'], | |||
href: mw.util.getUrl('Special:UploadWizard'), | |||
target: '_self' // 当前页面打开 | |||
}); | |||
this.content.$element.append( | this.content.$element.append( | ||
$('<p>').text('本站推荐使用新版上传工具,它支持:'), | $('<p>').text('本站推荐使用新版上传工具,它支持:'), | ||
第37行: | 第44行: | ||
$('<li>').text('更友好的界面') | $('<li>').text('更友好的界面') | ||
), | ), | ||
$('<p>').text('你想要使用哪种上传方式?') | $('<p>').text('你想要使用哪种上传方式?'), | ||
$('<div>').css('margin-top', '15px').append(linkButton.$element) // 将按钮插入内容 | |||
); | ); | ||
this.$body.append(this.content.$element); | this.$body.append(this.content.$element); | ||
}; | }; | ||
UploadDialog.prototype.getActionProcess = function (action) { | UploadDialog.prototype.getActionProcess = function (action) { | ||
if (action === 'stayHere') { | |||
// 仅关闭对话框 | |||
// | |||
return new OO.ui.Process(() => this.close({ action: 'stayHere' })); | return new OO.ui.Process(() => this.close({ action: 'stayHere' })); | ||
} | } | ||
第54行: | 第59行: | ||
}; | }; | ||
// | // 打开对话框 | ||
var dialog = new UploadDialog(); | var dialog = new UploadDialog(); | ||
windowManager.addWindows([dialog]); | windowManager.addWindows([dialog]); |
2025年5月10日 (六) 11:34的版本
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: ['safe'], action: 'stayHere' } ]; UploadDialog.prototype.initialize = function () { UploadDialog.super.prototype.initialize.call(this); // 创建内容面板 this.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); // 创建链接按钮(不是 JS 跳转) var linkButton = new OO.ui.ButtonWidget({ label: '✅ 使用新版上传工具(推荐)', classes: ['upload-redirect-button'], flags: ['progressive', 'primary'], href: mw.util.getUrl('Special:UploadWizard'), target: '_self' // 当前页面打开 }); this.content.$element.append( $('<p>').text('本站推荐使用新版上传工具,它支持:'), $('<ul>').append( $('<li>').text('上传进度条显示'), $('<li>').text('多文件上传'), $('<li>').text('更友好的界面') ), $('<p>').text('你想要使用哪种上传方式?'), $('<div>').css('margin-top', '15px').append(linkButton.$element) // 将按钮插入内容 ); this.$body.append(this.content.$element); }; UploadDialog.prototype.getActionProcess = function (action) { 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); } });