소도구:rc-lazy-load.js

최근 편집: 2020년 1월 8일 (수) 05:52
페미위키 깃헙 가젯 봇 (토론 | 기여)님의 2020년 1월 8일 (수) 05:52 판 (Github @lens0021의 https://github.com/femiwiki/remote-gadgets/commit/427786e)
// <nowiki>
(function() {
  "use strict";

  function init() {
    // 만일 개선된 필터를 사용하고 있지 않다면 아무것도 하지 않습니다.
    if (mw.user.options.get("rcenhancedfilters-disable") == 1) return;

    // 바뀐글 링크를 limit가 0인 링크로 바꿉니다.
    $("#site-navigation .changes a").attr(
      "href",
      $("#site-navigation .changes a").attr("href") + "?limit=0"
    );

    if (
      mw.config.get("wgCanonicalSpecialPageName") == "Recentchanges" &&
      new URLSearchParams(window.location.search).get("limit") === "0"
    ) {
      // "주어진 기간 동안에 이 조건들에 맞는 바뀜이 없습니다." 메시지를 안 보여줍니다.
      var css = document.createElement("style");
      css.type = "text/css";
      css.innerHTML =
        ".mw-rcfilters-ui-changesListWrapperWidget-results-noresult { display: none; }";
      document.body.appendChild(css);

      // 최근 바뀜 필터가 초기화된 다음
      mw.hook("structuredChangeFilters.ui.initialized").add(function() {
        var limitOption = mw.user.options.get("rclimit"),
          limitButtonIndex = 1;

        if (limitOption > 500) {
          limitButtonIndex = 5;
        } else if (limitOption > 250) {
          // limitOption = 500;
          limitButtonIndex = 4;
        } else if (limitOption > 100) {
          // limitOption = 250;
          limitButtonIndex = 3;
        } else if (limitOption > 50) {
          // limitOption = 100;
          limitButtonIndex = 2;
        } else {
          // limitOption = 50;
          limitButtonIndex = 1;
        }

        // limit를 50으로 변경하는 버튼
        var btn = $(
          ".mw-rcfilters-ui-changesLimitPopupWidget .oo-ui-buttonSelectWidget a"
        ).eq(limitButtonIndex);

        // 버튼을 누르는 동작을 흉내냅니다. 즉 limit를 50으로 다시 설정합니다.
        btn.trigger(
          jQuery.Event("mousedown", { which: OO.ui.MouseButtons.LEFT })
        );
        btn[0].dispatchEvent(new MouseEvent("mouseup"));
      });
    }
  }

  $(init);
})();
// </nowiki>