欢迎来到奇葩栖息地!欢迎加入Discord服务器:XfrfHCzfbW请先至特殊:参数设置验证邮箱后再进行编辑。特殊:参数设置挑选自己想要使用的小工具!不会编辑?请至这里学习Wikitext语法。

MediaWiki:Gadget-adminlinks.js/core.js

来自奇葩栖息地
Lakejason0讨论 | 贡献2021年6月13日 (日) 13:44的版本 (建立内容为“!(async () => { if (mw.config.get('wgCanonicalSpecialPageName') !== 'AdminLinks') return await Promise.all([ mw.loader.using(['mediawiki.api', 'mediawiki…”的新页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

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

  • 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
!(async () => {
  if (mw.config.get('wgCanonicalSpecialPageName') !== 'AdminLinks') return

  await Promise.all([
    mw.loader.using(['mediawiki.api', 'mediawiki.jqueryMsg']),
    $.ready
  ])
  await new mw.Api().loadMessagesIfMissing(['specialpages', 'adminlinks'])

  const $tabLabelSpecialPages = mw.message('specialpages').plain()
  const $tabLabelAdminLinks = mw.message('adminlinks').plain()

  const result = await $.get(mw.config.get('wgScript'), {
    action: 'render',
    title: 'Special:SpecialPages',
    uselang: mw.config.get("wgUserLanguage"),
  })
  const $result = $(result)
  const $contentText = $result
    .find('#mw-content-text')
    .attr('id', 'mw-content-text-specialPages')
  const $specialPages = $('<section>', {
    class: 'specialpages-panel'
  }).append($contentText)

  // console.log(result, $result, $contentText)

  const tabPanelSpecialPages = new OO.ui.TabPanelLayout('specialpages', {
      label: $tabLabelSpecialPages,
      expanded: false
    }),
    tabPanelAdminLinks = new OO.ui.TabPanelLayout('adminlinks', {
      label: $tabLabelAdminLinks,
      expanded: false
    })
  
  tabPanelAdminLinks.$element.append($('#adminlinks-panel'))
  tabPanelSpecialPages.$element.append($specialPages)

  const index = new OO.ui.IndexLayout({expanded: false})

  index.addTabPanels([tabPanelAdminLinks, tabPanelSpecialPages]);

  const panel = new OO.ui.PanelLayout( {
    expanded: false,
      content: [
        index
      ]
  } );
  $('#mw-content-text').html(panel.$element)
})()