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

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

来自LLWiki
跳转到导航 跳转到搜索
第3行: 第3行:
var editBox = $('#wpTextbox1'),
var editBox = $('#wpTextbox1'),
title = mw.config.get('wgPageName'),
title = mw.config.get('wgPageName'),
btns = $('#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget, #wpTemplateSandboxPreview');
btns = $('#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget, #wpTemplateSandboxPreview'),
action = mw.config.get('wgAction'),
skin = mw.config.get('skin');
// 引自[[moegirl:User:東東君/js/Wikiplus-replace.js]]
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').on('click', '#Wikiplus-Edit-TopBtn, .Wikiplus-Edit-SectionBtn', function(){
var timer = setInterval(function() {
if( $('#Wikiplus-Quickedit-Jump').length ) {
clearInterval(timer);
if($('#Wikiplus-Quickedit-Replace').length === 0) {
$('#Wikiplus-Quickedit-Jump').after( '<span id="Wikiplus-Quickedit-Replace" class="Wikiplus-Btn">替换</span>' );
var btn = $('#Wikiplus-Quickedit-Replace').on('click', function() {
var dialog = $('<div class="quickEdit-replace"><label>查找:<input type="text" name="pattern"></label><label>替换:<input type="text" name="replaceVal"></label><button id="quickEdit-replace_replaceBtn">替换</button><button id="quickEdit-replace_hideBtn">关闭</button></div>')
.insertAfter('.Wikiplus-InterBox');
$('#quickEdit-replace_hideBtn').on('click', function() {
dialog.remove();
});
});
}
}
}, 100);
});
}
if(mw.config.get('wgPageContentModel') == 'javascript') {
if(mw.config.get('wgPageContentModel') == 'javascript') {
$('body').on('keydown', '#wpTextbox1, #Wikiplus-Quickedit', function(e){
$('body').on('keydown', '#wpTextbox1, #Wikiplus-Quickedit', function(e){
第20行: 第45行:
$( 'input[name=wpTemplateSandboxPage]' ).val(function() { return $(this).val() || mw.config.get('wgPageName') });
$( 'input[name=wpTemplateSandboxPage]' ).val(function() { return $(this).val() || mw.config.get('wgPageName') });
if(['edit', 'submit'].includes(action) && skin == 'vector') {
var timer = setInterval(function() {
var timer = setInterval(function() {
if($( '#custom-editTools .mw-collapsible-toggle-collapsed' ).length) {
if($( '#custom-editTools .mw-collapsible-toggle-collapsed' ).length) {
clearInterval(timer);
clearInterval(timer);
$( '#custom-editTools .mw-collapsible-toggle-collapsed' ).click();
$( '#custom-editTools .mw-collapsible-toggle-collapsed' ).click();
}
}, 100);
}
}, 100);
}


// 由于以下代码的奇怪性质,本页面不应频繁修改,至少不能使用移动版皮肤修改
// 由于以下代码的奇怪性质,本页面不应频繁修改,至少不能使用移动版皮肤修改
btns.on('click', function() {
btns.on('click', function() {
if(mw.config.get('wgPageContentModel') == 'javascript') { editBox.val(editBox.val().replace(/\t/g, " ")); }
if(mw.config.get('wgPageContentModel') == 'javascript') { editBox.val(editBox.val().replace(/\t/g, " ")); }
if(mw.config.get('skin') == 'vector') { return; }
if(skin == 'vector') { return; }
editBox.val(editBox.val().replace(/(‘|’)/g,"'"));
editBox.val(editBox.val().replace(/(‘|’)/g,"'"));
editBox.val(editBox.val().replace(/(“|”)/g,'"'));
editBox.val(editBox.val().replace(/(“|”)/g,'"'));

2020年9月27日 (日) 11:19的版本

$(function() {
    /* JavaScript编辑界面按tab键空4格 */
    var editBox = $('#wpTextbox1'),
        title = mw.config.get('wgPageName'),
        btns = $('#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget, #wpTemplateSandboxPreview'),
        action = mw.config.get('wgAction'),
        skin = mw.config.get('skin');
    
    // 引自[[moegirl:User:東東君/js/Wikiplus-replace.js]]
    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').on('click', '#Wikiplus-Edit-TopBtn, .Wikiplus-Edit-SectionBtn', function(){
            var timer = setInterval(function() {
                if( $('#Wikiplus-Quickedit-Jump').length ) {
                    clearInterval(timer);
                    if($('#Wikiplus-Quickedit-Replace').length === 0) {
                    	$('#Wikiplus-Quickedit-Jump').after( '<span id="Wikiplus-Quickedit-Replace" class="Wikiplus-Btn">替换</span>' );
                    	var btn = $('#Wikiplus-Quickedit-Replace').on('click', function() {
                    		var dialog = $('<div class="quickEdit-replace"><label>查找:<input type="text" name="pattern"></label><label>替换:<input type="text" name="replaceVal"></label><button id="quickEdit-replace_replaceBtn">替换</button><button id="quickEdit-replace_hideBtn">关闭</button></div>')
                    			.insertAfter('.Wikiplus-InterBox');
                    		$('#quickEdit-replace_hideBtn').on('click', function() {
                    			dialog.remove();
                    		});
                    	});
                    }
                }
            }, 100);
        });
    }
    
    if(mw.config.get('wgPageContentModel') == 'javascript') {
        $('body').on('keydown', '#wpTextbox1, #Wikiplus-Quickedit', function(e){
            if(e.keyCode == 9){
                e.preventDefault();
                var position = this.selectionStart,
                    left = this.value.substring(0, position),
                    right = this.value.substring(position),
                    code = left + '    ' + right;
                this.value = code;
                this.selectionStart = this.selectionEnd = position + 4;
            }
        });
    }

    $( 'input[name=wpTemplateSandboxPage]' ).val(function() { return $(this).val() || mw.config.get('wgPageName') });
    
    if(['edit', 'submit'].includes(action) && skin == 'vector') {
    	var timer = setInterval(function() {
            if($( '#custom-editTools .mw-collapsible-toggle-collapsed' ).length) {
                clearInterval(timer);
                $( '#custom-editTools .mw-collapsible-toggle-collapsed' ).click();
            }
        }, 100);
    }

    // 由于以下代码的奇怪性质,本页面不应频繁修改,至少不能使用移动版皮肤修改
    btns.on('click', function() {
        if(mw.config.get('wgPageContentModel') == 'javascript') { editBox.val(editBox.val().replace(/\t/g, "    ")); }
        if(skin == 'vector') { return; }
        editBox.val(editBox.val().replace(/(‘|’)/g,"'"));
        editBox.val(editBox.val().replace(/(“|”)/g,'"'));
    });
});