MediaWiki:SkinIconToggle.js

From Last Origin Wiki
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
mw.loader.using("oojs-ui-core").done(function () {
  "use strict";
  // A RadioSelectWidget with RadioOptions.
  var optionAll = new OO.ui.RadioOptionWidget({
    data: "all",
    label: "All",
  });
  var optionNone = new OO.ui.RadioOptionWidget({
    data: "none",
    label: "No Distinction",
  });
  var optionPremium = new OO.ui.RadioOptionWidget({
    data: "premium",
    label: "Premium",
  });
  var optionLingerie = new OO.ui.RadioOptionWidget({
    data: "lingerie",
    label: "Lingerie",
  });
  var optionWedding = new OO.ui.RadioOptionWidget({
    data: "wedding",
    label: "Wedding",
  });
  var optionMaid = new OO.ui.RadioOptionWidget({
    data: "maid",
    label: "Maid",
  });
  var optionCostume = new OO.ui.RadioOptionWidget({
    data: "costume",
    label: "Costume",
  });
  var optionDaily = new OO.ui.RadioOptionWidget({
    data: "daily",
    label: "Daily Dress",
  });
  var optionSuit = new OO.ui.RadioOptionWidget({
    data: "suit",
    label: "Suit & Dress",
  });
  var optionSchool = new OO.ui.RadioOptionWidget({
    data: "school",
    label: "New School Year",
  });
  var optionBunny = new OO.ui.RadioOptionWidget({
    data: "bunny",
    label: "Bunny Girl",
  });
  var optionAGS = new OO.ui.RadioOptionWidget({
    data: "ags",
    label: "AGS",
  });
  var optionWinter = new OO.ui.RadioOptionWidget({
    data: "winter",
    label: "Winter Themed",
  });
  var optionHalloween = new OO.ui.RadioOptionWidget({
    data: "halloween",
    label: "Halloween",
  });
  var optionSwimsuit2024 = new OO.ui.RadioOptionWidget({
    data: "swimsuit-2024",
    label: "Swimsuit (2024)",
  });
  var optionSwimsuit2023 = new OO.ui.RadioOptionWidget({
    data: "swimsuit-2023",
    label: "Swimsuit (2023)",
  });
  var optionSwimsuit2022 = new OO.ui.RadioOptionWidget({
    data: "swimsuit-2022",
    label: "Swimsuit (2022)",
  });
  var optionSwimsuit2021 = new OO.ui.RadioOptionWidget({
    data: "swimsuit-2021",
    label: "Swimsuit (2021)",
  });
  var optionSwimsuit2020 = new OO.ui.RadioOptionWidget({
    data: "swimsuit-2020",
    label: "Swimsuit (2020)",
  });
  var optionSwimsuit2019 = new OO.ui.RadioOptionWidget({
    data: "swimsuit-2019",
    label: "Swimsuit (2019)",
  });

  var radioSelect = new OO.ui.RadioSelectWidget({
    items: [
      optionAll,
      optionNone,
      optionPremium,
      optionLingerie,
      optionWedding,
      optionMaid,
      optionCostume,
      optionDaily,
      optionSuit,
      optionSchool,
      optionBunny,
      optionAGS,
      optionWinter,
      optionHalloween,
      optionSwimsuit2024,
      optionSwimsuit2023,
      optionSwimsuit2022,
      optionSwimsuit2021,
      optionSwimsuit2020,
      optionSwimsuit2019,
    ],
  });

  radioSelect.selectItem(optionAll);
  radioSelect.on("choose", function (item) {
    if (item?.data == "all") {
      $(".skin-icon-list").children().each(function (index, child) {
        $(child).removeClass("hidden");
      }) 
    }
    else {
      $(".skin-icon-list").children().each(function (index, child) {
        var temp = $(child);
        if (temp.attr("data-theme") == item.data) $(child).removeClass("hidden");
        else $(child).addClass("hidden")
      }) 
    }
  });

  if ($(".skin-icon-toggle")) {
    $(".skin-icon-toggle").append(radioSelect.$element);
  }
});