MediaWiki:Gadget-XbxbTabs.js

来自乐园数据管理室

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
  • Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
if ($(".xbxbtabs").length > 0) {
  mw.loader.using(["oojs-ui"]).then(function() {
    function createTabPanel(name, label, element) {
      function TabPanelLayout() {
        TabPanelLayout.super.call(this, name);
        $(element).appendTo(this.$element);
      }
      OO.inheritClass(TabPanelLayout, OO.ui.TabPanelLayout);
      TabPanelLayout.prototype.setupTabItem = function() {
        this.tabItem.setLabel(label);
      };
      return new TabPanelLayout();
    }

    $(".xbxbtabs").map(function() {
      var panels = [];
      while (this.children[0]) {
        var element = this.children[0];
        var name = $(element).data("name"); 
        var label =$(element).data("label");
        panels.push(createTabPanel(name, label, element));
      }

      var index = new OO.ui.IndexLayout({autoFocus: false});
      index.addTabPanels(panels);
      $(this).append(index.$element);
    });
    $(".xbxbtabs").css("display", "block");
  });
}