打开/关闭菜单
Toggle preferences menu
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Gadget-tikuGuide.js

MediaWiki界面页面
Cirno.9讨论 | 贡献2022年9月17日 (六) 08:11的版本

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
setTimeout(function(){
	guideInterface()
	console.log('interface')
},0)
$.fn.serializeObject = function()
{
    var result = {}
    var a = this.serializeArray()
    console.log(a)
    $.each(a,function (e,t) {
        result[t['name']] = t['value']
    })
    return result
}
jQuery.fn.extend({
    getCurPos: function(){
        var e=$(this).get(0);
        e.focus();
        if(e.selectionStart){    //FF
            return e.selectionStart;
        }
        if(document.selection){    //IE
            var r = document.selection.createRange();
            if (r == null) {
                return e.value.length;
            }
            var re = e.createTextRange();
            var rc = re.duplicate();
            re.moveToBookmark(r.getBookmark());
            rc.setEndPoint('EndToStart', re);
            return rc.text.length;
        }
        return e.value.length;
    },
    setCurPos: function(pos) {
        var e=$(this).get(0);
        e.focus();
        if (e.setSelectionRange) {
            e.setSelectionRange(pos, pos);
        } else if (e.createTextRange) {
            var range = e.createTextRange();
            range.collapse(true);
            range.moveEnd('character', pos);
            range.moveStart('character', pos);
            range.select();
        }
    }
});
function add(){
    var info = $('#tikuInfo').serializeObject()
    var text = info.level + ' ' + info.chapID+'|'+info.chapName +'\n'
    var val = $('#indexContainer').val()
    $('#indexContainer').val(val + text)
    $('#chapName').val('')
    return text
}
function guideInterface(){
var container = $('#tiku-guide-container')
var form = $('<form id="tikuInfo">\n' +
    ' 题库名称:<br>\n' +
    '<input type="text" name="name">\n' +
    '<br>\n' +
    ' 封面(请先在维基中上传对应封面):<br>\n' +
    '<input type="text" name="cover">\n' +
    '<br>\n' +
    ' 发型年份(或者录入时间,默认当前时间):<br>\n' +
    '<input type="text" name="year">\n' +
    '<br>\n' +
    ' 作者(默认创建者):<br>\n' +
    '<input type="text" name="author">\n' +
    '<br>\n' +
    ' 出版社:<br>\n' +
    '<input type="text" name="publisher">\n' +
    '<br>\n' +
    ' 备注:<br>\n' +
    '<input type="text" name="ps">\n' +
    '<br>\n' +
    '目录信息(一行一个目录项,每行首添加 * 区分层级,章节名称与编号用|区分,示例:* 第一章|绪 论):<br>\n' +
    '<div>' +
    '<select name="level"><option value="*">*</option><option value="**">**</option><option value="***">***</option></select>' +
    '<input name="chapID" type="text" placeholder="章节号"/><input id="chapName" name="chapName" type="text" placeholder="章节名"/>'+
    '<button type="button">添加到末尾</button>'+
    '</div>' +
    '<textarea name="index" id="indexContainer" placeholder="* 第一章|绪 论\n**第一节|xxX\n* 第二章|222" style="width: 300px;height: 500px"></textarea>\n' +
    '</form> ').appendTo(container)
$('<button onclick="submit()">提交</button>').appendTo(container)
$('#add').bind("click",function (){
                showChoiceAnswer(id,'A')
            })
    }

function parseIndex(text){
    text = text.split('\n')
    var l = {}
    for (var i=0;i<text.length;i++){
        var level = text[i].length
        var chapID = text[i].split[' '][1].split('|')[0]
        var chapName = text[i].split[' '][1].split('|')[1]
        if(l.hasOwnProperty(level)){
            if(l[level]!=chapID){
                l[level] = chapID
            }
        }else{
            l[level] = chapID
        }

    }
}
function submit() {
    var info = $('#tikuInfo').serializeObject()
    console.log(info)

}