「MediaWiki:Common.js」の版間の差分

カテゴリごとにeditintroを設定するコードを追加(まずはシングルページに適用)
(カテゴリごとにeditintroを設定するコードを追加(まずはシングルページに適用))
83行目: 83行目:
     $('#wpSave').attr('disabled', 'disabled').val('投稿前にプレビューで確認してください');
     $('#wpSave').attr('disabled', 'disabled').val('投稿前にプレビューで確認してください');
     $('#wpPreview').css('font-weight', 'bold');
     $('#wpPreview').css('font-weight', 'bold');
}
/* カテゴリごとにeditintroを設定する */
window.CATEGORY_EDITINTRO_TABLE = {
    'シングル': 'ヘルプ:シングルページのスタイル/editintro' ,
};
window.addEditIntro = function(templateName) {
    var editURI = mw.config.get('wgScript') + '?title=' + encodeTitle(mw.config.get('wgPageName')) + '&action=edit';
    var searchIds = {
        'cologneblue' : ['quickbar', 'footer', 'article'],
        'vector'      : ['ca-edit', 'bodyContent'],
        'modern'      : ['ca-edit', 'mw_contentholder'],
        'monobook'    : ['ca-edit', 'bodyContent']
    };
    var ids = searchIds[skin] || searchIds['monobook'];
    for(var i = 0; i < ids.length; i++) {
        var el = document.getElementById(ids[i]);
        if(!el) continue;
        var aElements = el.getElementsByTagName('a');
        for(var j = 0; j < aElements.length; j++) {
            if(aElements[j].href.indexOf(editURI) >= 0) {
                aElements[j].href += '&editintro=' + encodeTitle(templateName);
            }
        }
    }
    function encodeTitle(title) {
        return encodeURIComponent(title.replace(/ /g, '_')).replace(/%2F/gi, '/').replace(/%3A/gi, ':');
    }
};
if (mw.config.get('wgNamespaceNumber') == 0) {
    $(function(){
        var catIds = ['mw-normal-catlinks', 'mw-hidden-catlinks'];
        for(var i = 0; i < catIds.length; i++) {
            var catContainer = document.getElementById(catIds[i]);
            if(!catContainer) continue;
            var cats = catContainer.getElementsByTagName('a');
            for(var j = 0; j < cats.length; j++) {
                var ei;
                if(ei = CATEGORY_EDITINTRO_TABLE[cats[j].innerHTML]) {
                    addEditIntro(ei);
                    return;
                }
            }
        }
    });
}
}
6,514

回編集