משתמש:Davidnead/ריקון בקשות ממפעילים.js

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
//מוסיף לחצנים לריקון מקטע בדף [[ויקיפדיה:בקשות ממפעילים]], ליד כותרת המקטע
//נוצר על ידי משתמש:davidnead
mw.loader.using(['mediawiki.api']).then(function () {
    $(function () {
        if (mw.config.get('wgPageName').indexOf( ":בקשות_ממפעילים") <0) return;
        var cap = $('.mw-editsection');
        for (var i = 0; i < cap.length; i++) {
            var title = mw.config.get('wgPageName')
            var baseURI=$(cap).eq(i).parent()[0].baseURI
            var tag = $(cap).eq(i).parent()[0].tagName.split('H')[1];
            if (tag < 2) continue;
            var secNum = $(cap).eq(i).children('a').eq(0).attr('href')
            secNum = secNum.match(/action=edit&section=(\d+)/)
            if (secNum) { } else { continue };
            var secNum = secNum[1]
            var secCon

            function done(summary1, name) {
                secNum = name
                var URL = mw.config.get('wgServer') + '/w/index.php?title=' + title + '&action=raw&section=' + secNum
                $.get(URL, function (data, status) {
                    var text = data.match(/==.+==\n{{.+}}/)
                    text = text[0]
                    var summary = data.match(/==(.+?)==/)
                    summary = "/*" + summary[1] + "*/" + summary1
                    new mw.Api().postWithToken('csrf', { action: 'edit', section: secNum, text: text, summary: summary, title: title }).done(function (done) {
                        if (done.edit.result == 'Success') {
                            location.reload();
                        } else {
                            mw.notify('עקב בעיה הפיסקה לא נוקתה');
                        }
                    })
                })
            }
            var direction = $('.mw-editsection').css('float') == 'left' ? 'left' : 'none';
            var S = $('<span>').css("background", "#eeeeee").attr("title","ריקון כל הבקשות מהמקטע")
            $(S).append(
                "ריקון: ",
                $('<a>').attr("name", secNum).text('בוצע').attr("title", "תקציר העריכה: הבקשות בוצעו. תודה").click(function () {
                    done("הבקשות בוצעו. תודה", this.name)
                }), " • ",
                $('<a>').attr("name", secNum).text('לא בוצע').attr("title", "תקציר העריכה: הבקשות לא בוצעו").click(function () {
                    done("הבקשות לא בוצעו", this.name)
                }), " • ",
                $('<a>').attr("name", secNum).text(' תקציר ').attr("title", "הזן תקציר עריכה ידנית בתיבת קלט").click(function () {
                    done(prompt("הזן תקציר עריכה"), this.name)
                })
            );
            $(cap).eq(i).append(" ", S);

        }
    });
});