לדלג לתוכן

משתמש:מ. רובין/RedLinks.js

מתוך חב"דפדיה, אנציקלופדיה חב"דית חופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
mw.loader.using(["mediawiki.util", "jquery.ui.dialog"]).done(function () {
    var portletId = mw.util.addPortletLink(
        'p-personal',
        '#',
        'הצג קישורים אדומים',
        'redlinks-button',
        'רשימת דפים אדומים',
        null,
        '#pt-preferences'
    );

    $(portletId).click(function (e) {
        e.preventDefault();

        var redLinksSet = new Set();

        $("a.new").each(function () {
            var title = $(this).attr("title");
            if (title) {
                var cleanTitle = title.replace(/ \(הדף אינו קיים\)$/, "").trim();
                redLinksSet.add(cleanTitle);
            }
        });

        if (redLinksSet.size === 0) {
            alert("לא נמצאו קישורים אדומים בדף זה.");
            return;
        }

        var htmlList = "<ul style='direction: rtl;'>";
        redLinksSet.forEach(function (title) {
            htmlList += "<li>" + mw.html.escape(title) + "</li>";
        });
        htmlList += "</ul>";

        $("<div>")
            .html(htmlList)
            .dialog({
                modal: true,
                title: "קישורים אדומים בדף: " + mw.config.get("wgTitle"),
                width: 400,
                buttons: {
                    סגור: function () {
                        $(this).dialog("close");
                    }
                }
            });
    });
});