Jump to content

User:YuviPanda/common.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by YuviPanda (talk | contribs) at 12:51, 15 March 2012. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
(function() {
    function Assessment(project, data) {
        this.project = project;
        this.data = data;
    }

    function makeRegex(project) {
        return new RegExp("{{(" + project + ")\\s*(\\|(.*)=(.*)\\s*)+\\s*}}");
    }

    Assessment.fromWikiText = function(project, text) {
        regex = makeRegex(project);
        var match = text.match(regex);
        var cleanTemplate = match[0].replace(/{|}|\n/g, '');
        var parts = cleanTemplate.split('|');
        var tags = {};
        for(var i = 1; i < parts.length; i++) {
            console.log(parts[i]);
            var tag = parts[i].split('=');
            tags[tag[0]] = tag[1];
        }
        return new Assessment(parts[0], tags);
    }

    mw.loader.using(["jquery.ui.button", "mediawiki.api"], function() {
        $(function() {
            $("<div id='madamhut-toolbar-container'><div id='madamhut-toolbar'><a class='madamhut-drop-button'><span id='madamhut-importance'>High</span> Importance</a><a class='madamhut-drop-button'><span id='madamhut-class'>B+</span> Class</a><a class='madamhut-button' href='http://yuvi.in/MadamHut/r/Unassessed_India_articles/'>Next Article</a></div></div>").appendTo("body");
            $(".madamhut-button").button();
            $(".madamhut-drop-button").button({
                icons: {
                    secondary: "ui-icon-triangle-1-s"
                }
            });
            $("#madamhut-toolbar").buttonset();

            console.log("Start api!");
            var api = new mw.Api();
            console.log("End API");
            api.get({
                action: "parse",
                page: 'Talk:' +  mw.config.get('wgPageName'),
                prop: 'wikitext'
            }, {
                ok: function(data) {
                    d = data;
                    var assessment = Assessment.fromWikiText('WP India|WikiProject India', data.parse.wikitext['*']);
                    $("#madamhut-importance").html(assessment.data.importance);
                    $("#madamhut-class").html(assessment.data.class);
                    console.log(data);
                }
            });

        });
    });
})();