MediaWiki talk:Gadget-mobileEdit.js
跳到导航
跳到搜索
请求创建小工具页面,内容如下:
//<nowiki>
/**
* @Source: https://llwiki.org/zh/mediawiki:gadget-mobileEdit.js
* @Author: [[User:Bhsd]]
* @Dependencies: ext.gadget.site-lib, mediawiki.util, oojs-ui-windows, user.options
*/
"use strict";
const script = mw.config.get( 'wgScript' ),
pagename = mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ),
id = mw.config.get( 'wgRevisionId' ),
action = mw.config.get('wgAction'),
contentModel = mw.config.get( 'wgPageContentModel' );
$('body').on('click', 'a.new, .mw-mf-diff-info__link-latest > a', function() {
$(this).attr('href', function(i, val) { return val.replace('&action=edit', '&action=submit'); });
});
$(function() {
if (action == 'view' || mw.config.get( 'wgNamespaceNumber') >= 0) {
$( 'a.edit-page' ).filter(function() { return /^T-/.test( $(this).data('section') ); }).remove();
$( 'a.edit-page' ).off( 'click' ).on('click', function(e) {
e.stopImmediatePropagation();
const self = $(this),
section = self.data('section'),
param = section ? '§ion=' + section : '';
location.href = script + '?action=submit&title=' + pagename + '&oldid=' + id + param;
}).removeAttr('href');
}
if (["edit", "submit"].includes( action )) {
const warning = mw.user.options.get( 'useeditwarning' ),
id = mw.util.getParamValue( 'oldid' ),
cid = mw.config.get( 'wgCurRevisionId' ),
href = script + (id && id < cid ? '?oldid=' + id : '/' + pagename),
cancelBtn = new OO.ui.ButtonWidget( {label: wgULS("取消编辑", "取消編輯"),
flags: ['primary', 'destructive'], href: href} );
cancelBtn.$element.appendTo( '.editButtons' );
if (warning) {
cancelBtn.$element.on('click', 'a', function(e) {
e.preventDefault();
OO.ui.confirm( wgULS("您要放弃这次更改吗?", "您要放棄這次更改嗎?"), {actions: [{label: "取消"},
{label: wgULS("确定", "確認"), flags: ['primary', 'destructive'], action: 'accept'}]} )
.then(function(confirm) {
if (confirm) { location.href = href; }
});
});
}
}
});
//</nowiki>
使用这个小工具需要在mediawiki:gadgets-definition添加
* mobileEdit[ResourceLoader|dependencies=ext.gadget.site-lib,mediawiki.util,oojs-ui-windows,user.options|rights=edit|targets=mobile]|mobileEdit.js