LLWiki正在建设中,欢迎加入我们

“User:Bhsd/edit.js”的版本间差异

跳转到导航 跳转到搜索
删除1,578字节 、​ 2022年1月15日 (六) 01:02
// 使用Wikiplus小工具快速编辑
(// 使用Wikiplus小工具快速编辑)
标签移动版网页编辑 移动版编辑
 
(未显示同一用户的7个中间版本)
"use strict";
/*global mw, $*/
(function() => {
const action = mw.config.get( 'wgAction' ),
contentmodel = mw.config.get( 'wgPageContentModel' ),
skin = mw.config.get( 'skin' );,
$body = $(document.body);
 
// 引自[[moegirl:User:東東君/js/Wikiplus-replace.js]]
if (action == 'view' && mw.config.get( 'wgIsArticle' ) && mw.config.get( 'wgIsProbablyEditable' ) &&
const states = ['loading', 'loaded', 'executing', 'ready'];
(mw.isModule( 'Wikiplus', true ) || mw.isModule( 'mobile-Wikiplus', true ))) {
if (action == 'view' && mw.config.get( 'wgIsArticle' ) && mw.config.get( 'wgIsProbablyEditable' ) &&
mw.hook( 'wikiplus.dialog' ).add(() => {
(states.includes( mw.loader.getState( 'ext.gadget.Wikiplus' ) ) ||
if ($( '#Wikiplus-Quickedit-Replace' ).length) { return; }
states.includes( mw.loader.getState( 'ext.gadget.mobile-Wikiplus' ) ))) {
console.log('Hook: wikiplus.dialog,开始添加替换按钮');
mw.hook( 'wikiplus.dialog' ).add(() => {
if ( $('<span>', '#{id: "Wikiplus-Quickedit-Replace", class:"Wikiplus-Btn", text:' 替换'}).lengthclick(() => { return; }
let dialog = $( '.quickEdit-replace' );
console.log('Hook: wikiplus.dialog,开始添加替换按钮');
if (dialog.length) {
$('<span>', {id: "Wikiplus-Quickedit-Replace", class:"Wikiplus-Btn", text:'替换'}).click(() => {
dialog.show();
let dialog = $( '.quickEdit-replace' );
return;
if (dialog.length) {
}
dialog.show();
let backup = "";
return;
const textarea = $('#Wikiplus-Quickedit');
}
dialog = $('<div class="quickEdit-replace">' +
let backup = "";
'<label>查找:<input type="text" id="quickEdit-replace-pattern"></label>' +
const textarea = $('#Wikiplus-Quickedit');
dialog = $( '<divlabel>替换:<textarea classid="quickEdit-replace-val"></textarea></label>' +
'<label>查找:<input type="text" id="quickEdit-replace-patternregex"><input type="checkbox">正则</label>' +
'<label>替换:<textareabutton id="quickEdit-replace-valreplace_replaceBtn">替换</textarea></labelbutton>' +
'<labelbutton id="quickEdit-replace-regexreplace_undoBtn"><input typedisabled="checkboxtrue">正则撤销</labelbutton>' +
'<button id="quickEdit-replace_replaceBtnreplace_hideBtn">替换关闭</button>' +
'</div>').appendTo( '.Wikiplus-InterBox' )
'<button id="quickEdit-replace_undoBtn" disabled="true">撤销</button>' +
.on('click', '<button id="#quickEdit-replace_hideBtn"', () =>关闭</button>' +{ dialog.hide(); })
.on('click', '#quickEdit-replace_undoBtn', () => { textarea.val(backup); })
'</div>').appendTo( '.Wikiplus-InterBox' )
.on('click', '#quickEdit-replace_hideBtnreplace_replaceBtn', () => { dialog.hide(); })
const ptn = .on$('click', '#quickEdit-replace_undoBtnreplace-pattern', () => { textarea.val(backup); }),
value = .on$('click', '#quickEdit-replace_replaceBtnreplace-val', ).val() => {,
const ptn isRegex = $( '#quickEdit-replace-patternregex > input' ).valprop( 'checked' ),;
backup = textarea.val();
value = $( '#quickEdit-replace-val' ).val(),
isRegex = $( '#quickEdit-replace-regex > inputreplace_undoBtn' ).prop( 'checkeddisabled', false);
mw.loader.using( 'mediawiki.util' ).then(() => {
backup = textarea.val();
const regexp = new RegExp(isRegex ? ptn : mw.util.escapeRegExp(ptn), 'g');
$( '#quickEdit-replace_undoBtn' ).prop('disabled', false);
textarea.val( backup.replace(regexp, value) );
mw.loader.using( 'mediawiki.util' ).then(() => {
});
const regexp = new RegExp(isRegex ? ptn : mw.util.escapeRegExp(ptn), 'g');
});
textarea.val( backup.replace(regexp, value) );
if (skin == 'minerva') { return; }
});
mw.loader.using( 'jquery.ui' ).then(() => { dialog.draggable(); });
});
}).insertAfter( '#Wikiplus-Quickedit-Jump' );
if (skin == 'minerva') { return; }
});
mw.loader.using( 'jquery.ui' ).then(() => { dialog.draggable(); });
}
}).insertAfter( '#Wikiplus-Quickedit-Jump' );
});
}
/* JavaScript编辑界面按tab键空4格 */
if (contentmodel == 'javascript' && skin == 'vector' && ['view', 'edit', 'submit'].includes(action)) {
mw.loader.using( 'jquery.textSelection' ).then(() => {
$('body').on('keydown', '#wpTextbox1, #Wikiplus-Quickedit', function(e) {
if (e.keyCode == 9) {
e.preventDefault();
$(this).textSelection( 'encapsulateSelection', {peri:' ', replace:true, selectPeri:false} );
}
});
});
}
 
if (['edit', 'submit'].includes(action)) {
// 修改WikiEditor的替换文本框
if (skin == 'vector') {
$('body').on('click', 'input#wikieditor-toolbar-replace-replace', function() {
$(this).replaceWith( $('<textarea>', {id: "wikieditor-toolbar-replace-replace", tabindex:10})
.on('keydown keypress', e => { if (e.keyCodekey == '13Enter') { e.stopPropagation(); } }) );
});
});
}
}
 
// 修改templateSandbox的默认页面
$('body').on('click', '#wpTemplateSandboxPreview', () => {
const $sandbox = $( 'input[name = wpTemplateSandboxPage]' ).val(function() {;
if (!$sandbox.val()) {
const namespaces = mw.config.get( 'wgFormattedNamespaces' ),
ns = $sandbox.val( mw.config.get( 'wgNamespaceNumberwgPageName' ) );
}
return $(this).val() || (namespaces[ns] + (ns === 0 ? '' : ':') + mw.config.get('wgTitle'));
});
});
});
 
// JS代码统一使用4个空格Tab缩进
if (['javascript', 'css', 'Scribunto'].includes( contentmodel )) {
if (contentmodel == 'javascript') {
$body.on('submit', '#editform', () => {
const btns = '#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget, #wpTemplateSandboxPreview';
$( '#wpTextbox1' ).val(function() { return $(this).val().replacereplaceAll(/\t/g' ', " "' '); });
$('body').on('click', btns, () => {
});
$( '#wpTextbox1' ).val(function() { return $(this).val().replace(/\t/g, " "); });
}
});
}
}
}
}) ();
//</nowiki>
16,874

个编辑

导航菜单