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

删除1,539字节 、​ 2020年11月22日 (日) 05:03
无编辑摘要
// 修改WikiEditor的替换文本框
if (['edit', 'submit'].includes( action ) && skin == 'vector') {
$('body').on('click', 'input#wikieditor-toolbar-replace-replace', ).replaceWithfunction(ele); {
// 此处经反复测试无法delegate
const ele = $( '<textarea id="wikieditor-toolbar-replace-replace" tabindex="10">' )
console.log( 'setInterval: 等待WikiEditor的搜索按钮加载完毕' );
const toolbarTimerStart = mw .nowkeydown(),e => {
toolbarTimer = setInterval if (()e.keyCode =>= '13') {
if ($( '.group-search a' ).length === 0) { return;const }text = ele.val(),
before = text.substring(0, ele.prop( 'selectionStart' )),
clearInterval( toolbarTimer );
after = text.substring(ele.prop( 'selectionEnd' ));
console.log( `End setInterval: WikiEditor的搜索按钮加载完毕,用时 ${mw.now() - toolbarTimerStart} ms` );
$( '.group-search a' ) ele.oneval(before + 'click\n', ()+ => {after);
});
console.log( 'setInterval: 等待WikiEditor的搜索对话框加载完毕' );
const timerStart = mw.now(),
timer = setInterval(() => {
if ($( '#wikieditor-toolbar-replace-replace' ).length === 0) { return; }
clearInterval(timer);
console.log( `End setInterval: WikiEditor的搜索对话框加载完毕,用时 ${mw.now() - timerStart} ms` );
const ele = $( '<textarea id="wikieditor-toolbar-replace-replace" tabindex="10">' )
.keydown(e => {
if (e.keyCode == '13') {
const text = ele.val(),
before = text.substring(0, ele.prop( 'selectionStart' )),
after = text.substring(ele.prop( 'selectionEnd' ));
ele.val(before + '\n' + after);
}
});
$( 'input#wikieditor-toolbar-replace-replace' ).replaceWith(ele);
}, 100);
});
}, 100 $(this).replaceWith(ele);
}, 100);
}
 
if (action == 'view' && mw.config.get( 'wgIsArticle' ) && mw.config.get( 'wgIsProbablyEditable' ) &&
(mw.loader.getState( 'ext.gadget.Wikiplus' ) == 'ready' || mw.loader.getState( 'ext.gadget.mobile-Wikiplus' ) == 'ready')) {
$('body')mw.onhook('click', '#Wikiplus-Edit-TopBtn, wikiplus.Wikiplus-Edit-SectionBtndialog', ).add(() => {
console.logif ($( 'setInterval: 等待#Wikiplus对话框加载完毕-Quickedit-Replace' ).length) { return; }
console.log( 'Hook: wikiplus.dialog,开始添加替换按钮' );
const timerStart = mw.now(),
$( '<span id="Wikiplus-Quickedit-Replace" class="Wikiplus-Btn">替换</span>' )
timer = setInterval(() => {
if .on($( '#Wikiplus-Quickedit-Jumpclick', ().length === 0)> { return; }
clearIntervallet dialog = $(timer '.quickEdit-replace' );
if (dialog.keydown(e =>length) {
console.log( `End setInterval: Wikiplus对话框加载完毕,用时 ${mw.now() - timerStart} ms` );
if ($( '#Wikiplus-Quickedit-Replace' ) dialog.lengthshow() { return; }
const timerStart = mw.now(), return;
$( '<span id="Wikiplus-Quickedit-Replace" class="Wikiplus-Btn">替换</span>' )
.on('click', () => {}
let dialogbackup = $( '.quickEdit-replace' )"";
const textarea = if $(dialog.length'#Wikiplus-Quickedit') {;
dialog = $('<div class="quickEdit-replace"><label>查找:<input type="text" id="quickEdit-replace-pattern"></label><label>替换:<textarea id="quickEdit-replace-val"></textarea></label><label id="quickEdit-replace-regex"><input type="checkbox">正则</label><button id="quickEdit-replace_replaceBtn">替换</button><button id="quickEdit-replace_undoBtn" disabled="true">撤销</button><button id="quickEdit-replace_hideBtn">关闭</button></div>')
dialog.toggle();
.appendTo( '.Wikiplus-InterBox' return;)
.on('click', '#quickEdit-replace_hideBtn', e => { $( e.delegateTarget ).hide(); })
let.on('click', backup'#quickEdit-replace_undoBtn', () => ""{ textarea.val(backup); })
const textarea = $.on('click', '#WikiplusquickEdit-Quickeditreplace_replaceBtn', (); => {
const ptn = $( '#quickEdit-replace_undoBtnreplace-pattern' ).propval('disabled'), false);
dialog = $('<div class="quickEdit-replace"><label>查找:<input type="text" id="quickEdit-replace-pattern"></label><label>替换:<textarea id="quickEdit-replace-val"></textarea></label><label id="quickEdit-replace-regex"><input type="checkbox">正则</label><button id="quickEdit-replace_replaceBtn">替换</button><button id="quickEdit-replace_undoBtn" disabled="true">撤销</button><button id="quickEdit-replace_hideBtn">关闭</button></div>')
.appendTovalue = $( '.Wikiplus#quickEdit-InterBoxreplace-val' ).val(),
.onisRegex = $('click', '#quickEdit-replace_hideBtnreplace-regex input', e => { $).prop( e.delegateTarget'checked' ).toggle(); })
.on('click', '#quickEdit-replace_undoBtn', ()backup => { textarea.val(backup); })
.on$('click', '#quickEdit-replace_replaceBtnreplace_undoBtn' ).prop('disabled', (false) => {;
const ptn = $mw.loader.using( '#quickEdit-replace-patternmediawiki.util' ).valthen((), => {
const regexp = new valueRegExp(isRegex =? $(ptn '#quickEdit-replace-val': )mw.valutil.escapeRegExp(ptn), 'g');
isRegex = $textarea.val('#quickEdit-replace-regex input')backup.propreplace(regexp, 'checked'value) );
backup = textarea.val();
$( '#quickEdit-replace_undoBtn' ).prop('disabled', false);
mw.loader.using( 'mediawiki.util' ).then(() => {
const regexp = new RegExp(isRegex ? ptn : mw.util.escapeRegExp(ptn), 'g');
textarea.val( backup.replace(regexp, value) );
});
});
mw.loader.using( 'jquery.ui' ).then(() => { dialog.draggable(); });
})mw.insertAfterloader.using( '#Wikiplus-Quickedit-Jumpjquery.ui' ).then(() => { dialog.draggable(); });
},).insertAfter( '#Wikiplus-Quickedit-Jump' 100);
});
}
16,874

个编辑