LLWiki正在建设中,欢迎
加入我们
!
查看“User:Bhsd/widget/list.js”的源代码
←
User:Bhsd/widget/list.js
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您没有权限编辑此JavaScript页面,因为此页面包含另一位用户的个人设置。
您可以查看和复制此页面的源代码。
"use strict"; /* global mw, $, OO */ (() => { const main = (data) => { mw.sifdata = data[0]; let $output; const attr = ['s', 'p', 'c'], diff = ['easy', 'normal', 'hard', 'expert', 'exran', 'master'], convertTime = (t) => `${ Math.floor(t / 60) }:${ (t % 60).toString().padStart(2, 0) }`, buildOptions = (list, key) => list.map(ele => ele[key]).filter(ele => ele) .map(ele => new OO.ui.MenuOptionWidget({data: ele, label: ele})), change = (value) => { const term = mw.sifdata.find(ele => ele.j == value || ele.c == value); if (!term) { return; } $output.text( `{{sif-song-tablerow|${ term.j }|${ attr[term.a] }|${ convertTime( term.t ) }` + term.s.map(ele => { const level = `${ele.k || ''}${ele.ia ? 'ac' : ''}${ diff[ele.d - 1] }`, swing = ele.is ? 'swing' : ''; return `|d-${ level }=${ ele.s }${ swing }|c-${ level }=${ ele.c }${ swing }`; }).join( '' ) + '|条件=}}' ); }, buildSelect = (group) => { const list = mw.sifdata.filter(ele => ele.g == group), optionsJa = buildOptions(list, 'j'), optionsZh = buildOptions(list, 'c'), select = new OO.ui.ComboBoxInputWidget({ menu: {items: [ new OO.ui.MenuSectionOptionWidget({label: '原名'}), ...optionsJa, new OO.ui.MenuSectionOptionWidget({label: '中文名'}), ...optionsZh, ], width: '100%', filterFromInput: true, filterMode: 'substring'} }).on('change', change); optionsJa.forEach(ele => { ele.$element.attr('lang', 'ja'); }); return select.$element.append( $('<i>', {class: 'fas fa-backspace'}).click(() => { select.setValue(''); }) ); }, selectSet = [1, 2, 3, 4].map( buildSelect ); mw.hook( 'wikipage.content' ).add($content => { $output = $content.find( '#sif-song-tablerow' ); $content.find( 'h3' ).slice(0, 4).after(i => selectSet[i]); }); }, init = () => { mw.widget = mw.widget || {}; if (mw.widget.list) { return; } Promise.all([ $.ajax({ dataType: 'json', cache: true, url: '//cdn.jsdelivr.net/gh/bhsd-harry/LLWiki@latest/json/list.json' }), mw.loader.using( 'oojs-ui-core' ) ]).then( main ); mw.widget.list = true; }; if (window.jQuery) { init(); } else { window.addEventListener('jquery', init); } }) ();
返回
User:Bhsd/widget/list.js
。
导航菜单
个人工具
创建账号
登录
命名空间
用户页
讨论
变体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
随机页面
最近更改
沙盒
互助客栈
方针与指引
帮助
工具
链入页面
相关更改
用户贡献
日志
查看用户组
特殊页面
页面信息