跳转到内容

MediaWiki:Common.js:修订间差异

来自电棍ottowiki———电棍笑传之查查编
第1行: 第1行:
mw.loader.using(['mediawiki.util', 'mediawiki.api', 'oojs-ui'], function () {
mw.loader.using(['mediawiki.util', 'oojs-ui'], function () {
     if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload') {
     if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload') {


         // 创建一个弹窗
         // 创建窗口管理器
        var dialog = new OO.ui.MessageDialog();
         var windowManager = new OO.ui.WindowManager();
         var windowManager = new OO.ui.WindowManager();
         $(document.body).append(windowManager.$element);
         $(document.body).append(windowManager.$element);
        windowManager.addWindows([dialog]);


         // 配置弹窗内容和按钮
         // 自定义对话框
         var dialogConfig = {
         var UploadDialog = function (config) {
             title: '选择上传方式',
             UploadDialog.super.call(this, config);
             message: $('<div>').append(
        };
        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('你想要使用哪种上传方式?')
             ),
             );
             actions: [
             this.$body.append(this.content.$element);
                {
                    action: 'wizard', label: '✅ 使用新版上传方式(推荐)', flags: ['primary', 'progressive']
                },
                {
                    action: 'classic', label: '❌ 继续使用传统上传', flags: ['safe']
                }
            ]
         };
         };


         windowManager.openWindow(dialog, dialogConfig)
         UploadDialog.prototype.getActionProcess = function (action) {
            .then(function (opened) {
             if (action === 'gotoWizard') {
                return opened.closed;
                // 点击按钮立即跳转,不等待窗口关闭
             })
                window.location.href = mw.util.getUrl('Special:UploadWizard');
            .then(function (data) {
                 return new OO.ui.Process(); // 返回一个空的动作流程以防出错
                if (data && data.action === 'wizard') {
            } else if (action === 'stayHere') {
                    // 重定向到 UploadWizard 页面
                // 什么也不做,直接关闭窗口
                    window.location.href = mw.util.getUrl('Special:UploadWizard');
                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);
    }
});