MediaWiki talk:DRN-wizard.js

From WikiProjectMed
Jump to navigation Jump to search

DNAU

Hi. Can someone please replace

// Generate a WikiText string, representing the report. // Returns a string of wikitext this.getWikitextReport = function() { //Returns string of wikitext for submission to DR page var report = "{{DR case status}}\n{{drn filing editor|{{subst:" + "REVISIONUSER}}|~~" + "~~" + "~}}\n\n";


with

// Generate a WikiText string, representing the report. // Returns a string of wikitext this.getWikitextReport = function() { //Returns string of wikitext for submission to DR page var report = "{{DR case status}}\n{{drn filing editor|{{subst:" + "REVISIONUSER}}|~~" + "~~" + "~}}\n{{subst:DNAU|14}}<!-- PLEASE REMOVE THE PREVIOUS COMMENT WHEN CLOSING THIS THREAD. (Otherwise the thread won't be archived until the date shown.) --><noinclude>\n\n";

Thanks, Steven Zhang Help resolve disputes! 12:22, 11 August 2012 (UTC)[reply]

 Not done It looks like the {{DNAU}} template would be substituted directly onto the interface page with that code. Would the following work?

// Generate a WikiText string, representing the report. // Returns a string of wikitext this.getWikitextReport = function() { //Returns string of wikitext for submission to DR page var report = "{{DR case status}}\n{{drn filing editor|{{subst:" + "REVISIONUSER}}|~~" + "~~" + "~}}\n{{subst:" + "DNAU|14}}<!-- PLEASE REMOVE THE PREVIOUS COMMENT WHEN CLOSING THIS THREAD. (Otherwise the thread won't be archived until the date shown.) --><noinclude>\n\n";

Test it out and let me know if it will do the trick. — Mr. Stradivarius (have a chat) 12:44, 11 August 2012 (UTC)[reply]
Yep, that should work fine. Szhang (WMF) (talk) 01:56, 14 August 2012 (UTC)[reply]
 Done. Let me know if there are any issues with it. — Mr. Stradivarius (have a chat) 03:31, 14 August 2012 (UTC)[reply]

Unclosed noinclude

The line 165 of the script contains the <noinclude> tag, which is outputted to every WP:DRN case. Still, no corresponding <noinclude> tag is outputted, so WP:DRN ends up being polluted with unclosed <noinclude>. As both transclusion count and lack of previous requests to put closing tag reveal, WP:DRN doesn't get transcluded. In the lack of opposition I request removing this tag from the script. — Dmitrij D. Czarkoff (talk) 00:06, 28 August 2012 (UTC)[reply]

Done. That does indeed seem an odd place to put a <noinclude> tag. It will be included no more... — Mr. Stradivarius (have a chat) 00:24, 28 August 2012 (UTC)[reply]
We're going to noinclude the noinclude tag. :-) (Nice pick up) Szhang (WMF) (talk) 01:44, 28 August 2012 (UTC)[reply]

Title normalization

The script doesn't manage the article title input, and consequently creates DRN threads with full URL titles. I propose to manage article title input. As I'm no JS wizard, my proposal is as simple as replacing line 442:

	gDRW.article_title = textbox.value;

with:

	gDRW.article_title = textbox.value.replace("https://", "http://").replace("http://en.wikipedia.org/wiki/", "").replace("_", " ");

Which (in my experiments) should do the job in most cases (more precisely, if the article's title contains only [0-9A-z] character range). Probably someone with more JS experience could propose a better solution. — Dmitrij D. Czarkoff (talk) 15:53, 31 August 2012 (UTC)[reply]

update code

Hi, I've needed to make a change to the code to add user statement fields. Can someone please update all the code to the following, with the actual change for reference being the addition of:

Source code
//User statements
        var currentUser = mw.config.get( 'wgUserName' );
        for (var userIndex = 0; userIndex < userArray.length; userIndex++)
                {
        if ( userArray[userIndex] != currentUser) {
               report += "==== Summary of dispute by " + userArray[userIndex]+" ====\n<div style=\"font-size:smaller\">Please keep it brief - less than 2000 characters if possible, it helps us help you quicker.</div>\n\n";
            }
                }
</nowiki></code>

The entire code is:

<code><nowiki>/**
 * This is the main object that holds the state for everything
 */
function drw() {
 
    //Keep track of what step we are on
    this.wizard_step = 0;
 
    //Has the admin attempted to resolve this on the talk page
    this.talkpage = false;
 
    //Title of Article
    this.article_title = '';
 
    //Description of dispute
    this.dispute_description = '';
    
    //Involved users
    this.involved_users = mw.config.get( 'wgUserName' ) + ', ';
    
    //Previous forums
    this.previous_forums = '';
 
    //Desired Outcome
    this.desired_outcome = '';

    //Page where the report will be posted
    this.post_link = '';
 
    // Draw text box
    this.drawTitleInput = function() {
        //Appends to $("#drwContent1")

        $("#drwContent1").append("<h3>Location of dispute</h3>");
         $("#drwContent1").append("<p>What is the location of this dispute? If there are multiple forums, list the main one and describe the others in the dispute description.</p>");

        var inputbox = $( document.createElement('input') );
        inputbox.attr({
            type: "text",
            name: "article_title",
            value: this.article_title
        });

        inputbox.change( function() {  gDRW.article_title = this.value.replace("https://", "http://").replace("http://en.wikipedia.org/wiki/", "").replace("_", " ").replace("[[", '').replace("]]", ''); } )

        $("#drwContent1").append( inputbox );
    }
 
    // Draw description textarea
    this.drawDescriptionInput = function() {
        //Appends to $("#drwContent1")
 
        $("#drwContent1").append("<h3>Dispute overview</h3>");
        $("#drwContent1").append("<p>Can you give us a quick explanation of what is going on? What is the issue you are bringing to dispute resolution?</p>");
 
        var desc = $( document.createElement('textarea') );
        desc.attr({
            rows: 6,
            cols: 60,
            maxlength: 2000
        });
        desc.text( this.dispute_description );
 
        desc.change( function() { gDRW.dispute_description = this.value; } );
        desc.bind('keyup', function() { $("#taCount").text(""+this.value.length+" / 2000"); } );

        $("#drwContent1").append( desc );
 
        $("#drwContent1").append( $("<p id='taCount'>"+this.dispute_description.length+"/2000</p>") );
    }

    // Involved users
    this.drawUserInput = function() {
        //Appends to $("#drwContent1")

        $("#drwContent1").append("<h3>Users involved</h3>");
        $("#drwContent1").append("<p>Who else is involved in the dispute? Enter them into the below box, without the User:, separated by commas: e.g. Example, Example2. (Please remember to notify them of this discussion)</p>");

        var inputbox = $( document.createElement('input') );
        inputbox.attr({
            type: "text",
            name: "involved_users",
            value: this.involved_users
        });

        inputbox.change( function() { gDRW.involved_users = this.value; } );

        $("#drwContent1").append( inputbox );
    }

    // Draw previous forums
    this.drawPreviousInput = function() {
        //Appends to $("#drwContent1")

        $("#drwContent1").append("<h3>Resolving the dispute </h3>");
        $("#drwContent1").append("<p>What other steps, if any, have you tried to resolve this dispute?</p>");

        var desc = $( document.createElement('textarea') );
        desc.attr({
            rows: 3,
            cols: 60,
            maxlength: 500
        });
        desc.text( this.previous_forums );

        desc.change( function() { gDRW.previous_forums = this.value; } );
        desc.bind('keyup', function() { $("#pcCount").text(""+this.value.length+" / 500"); });
 
        $("#drwContent1").append( desc );
 
        $("#drwContent1").append( $("<p id='pcCount'>"+this.previous_forums.length+"/500</p>") );
    }
 
     // Draw outcome textarea
    this.drawOutcomeInput = function() {
        //Appends to $("#drwContent1")

        $("#drwContent1").append("<p>How do you think we can help resolve the dispute?</p>");

        var desc = $( document.createElement('textarea') );
        desc.attr({
            rows: 5,
            cols: 60,
            maxlength: 500
        });
        desc.text( this.desired_outcome );

        desc.change( function() { gDRW.desired_outcome = this.value; } );
        desc.bind('keyup', function() { $("#ocCount").text(""+this.value.length+" / 500"); });

        $("#drwContent1").append( desc );
        $("#drwContent1").append( $("<p id='ocCount'>"+this.desired_outcome.length+"/500</p>") );
    }
 
    // Draw the summary content
    this.drawDRWSummary = function() {
        //Appends to $("#drwContent1")
 
        //$("#drwContent1").append(list);
 
        //Article Title
        $("#drwContent1").append("<h3>Location of dispute</h3>");
        $("#drwContent1").append( $("<p></p>").text(this.article_title) );
 
        //Dispute Description
        $("#drwContent1").append("<h3>Dispute overview</h3>");
        $("#drwContent1").append( $("<p></p>").text(this.dispute_description) );
        
        //Users involved
        $("#drwContent1").append("<h3>Users involved</h3>");
        $("#drwContent1").append( $("<p></p>").text(this.involved_users) );
        
        //Previous forums
        $("#drwContent1").append("<h3>Resolving the dispute</h3>");
        $("#drwContent1").append("<h4>Other steps if any, you have tried to resolve this dispute</h4>");
        $("#drwContent1").append( $("<p></p>").text(this.previous_forums) );
        
        //Desired Outcome
        $("#drwContent1").append("<h4>How you think we can help resolve the dispute?</h4>");
        $("#drwContent1").append( $("<p></p>").text(this.desired_outcome) );
 
    }
 
    // Generate a WikiText string, representing the report.
    // Returns a string of wikitext
    this.getWikitextReport = function() {
        //Returns string of wikitext for submission to DR page
        var report = "{{DR case status}}\n{{drn filing editor|{{subst:" + "REVISIONUSER}}|~~" + "~~" + "~}}\n{{subst:" + "DNAU|14}}<!-- PLEASE REMOVE THE PREVIOUS COMMENT WHEN CLOSING THIS THREAD. (Otherwise the thread won't be archived until the date shown.) -->\n\n";
        
        //On Talk Page
        report += "<span style=\"font-size:110%\">'''Have you discussed this on a talk page?'''</span>\n";
        report += "\n"+( (this.talkpage)?'Yes, I have discussed this issue on a talk page already.':'no' )+"\n\n";
 
        //Article Title
        report += "<span style=\"font-size:110%\">'''Location of dispute'''</span>\n";
        var articleArray = this.article_title.split(',');
        for (var articleIndex = 0; articleIndex < articleArray.length; articleIndex++)
        {
            report += "* {{pagelinks|" + articleArray[articleIndex]+"}}\n";
        }
        
        //Involved users
        report += "<span style=\"font-size:110%\">'''Users involved'''</span>\n";
        var userArray = this.involved_users.split(',');
        for (var userIndex = 0; userIndex < userArray.length; userIndex++)
        {
            report += "* {{User|" + userArray[userIndex]+"}}\n";
        }
        
        //Dispute Description
        report += "<span style=\"font-size:110%\">'''Dispute overview'''</span>\n";
        report += "\n"+ this.dispute_description+"\n\n";
        
        //Previous forums
        report += "<span style=\"font-size:110%\">'''Have you tried to resolve this previously?'''</span>\n";
        report += "\n"+ this.previous_forums+"\n\n";
 
        //Desired Outcome
        report += "<span style=\"font-size:110%\">'''How do you think we can help?'''</span>\n";
        report += "\n" + this.desired_outcome+"\n\n";
		
		//User statements
        var currentUser = mw.config.get( 'wgUserName' );
        for (var userIndex = 0; userIndex < userArray.length; userIndex++)
                {
        if ( userArray[userIndex] != currentUser) {
               report += "==== Summary of dispute by " + userArray[userIndex]+" ====\n<div style=\"font-size:smaller\">Please keep it brief - less than 2000 characters if possible, it helps us help you quicker.</div>\n\n";
            }
                }
        
        //Discussion
        report += "=== " + this.article_title + " discussion ===\n<div style=\"font-size:smaller\">Please keep discussion to a minimum before being opened by a volunteer. Continue on article talk page if necessary.</div>";
        
        return report;
    }
 
    // Returns an html string, representing the progress bar, based on the
    // objects state.
    this.getProgressBar = function() {
        var s1_active =( this.wizard_step==1 )?' pr-active':'';
        var s2_active =( this.wizard_step==2 )?' pr-active':'';
        var s3_active =( this.wizard_step==3 )?' pr-active':'';
 
 
        var signupbox = '<ul id="signuptopbox">';
        signupbox += '<li class="s1'+s1_active+'"><span class="pr-number">1</span><span>Preliminary</span></li>';
        signupbox += '<li class="pr-spacer'+s1_active+'"><div></div></li>';
 
        signupbox += '<li class="s2'+s2_active+'"><span class="pr-number">2</span><span>Description</span></li>';
        signupbox += '<li class="pr-spacer'+s2_active+'"><div></div></li>';
 
        signupbox += '<li class="s3'+s3_active+'"><span class="pr-number">3</span><span>Summary</span></li>';
        signupbox += '<li class="pr-spacer'+s3_active+'"><div></div></li>';
 
        signupbox += '</ul>';
 
        return signupbox;
    }
 
    this.getArticleTitle = function() {
        return this.article_title;
    }
 
    this.getDisputeDescription = function() {
        return this.dispute_description;
    }
 
}
 
/**
 * The various "show...()" functions display each of the 'screens' in the wizard
 */
 
function showStep1() {
 
    gDRW.wizard_step = 1;
 
    $("#drwProgressBar").html( gDRW.getProgressBar() );
 
    $("#drwContent1").html('<h2>Request dispute resolution</h2> <p> Hi there. This form can be used to file a request at the Dispute Resolution Noticeboard. - a process for resolving a dispute over article content between two or more editors. It is unable to address disputes primarily concerning user conduct - they should be discussed with the users involved first, and failing that directed <a href="http://en.wikipedia.org/wiki/WP:ANI">here.</a> If you have any questions please ask one of our <a href="http://en.wikipedia.org/wiki/WP:DRVOLUNTEERS">volunteers</a> for guidance.\
\
\
<h3>In brief: dispute resolution should be used when you:</h3>\
\
<ul>\
<li>Have a dispute with another editor and need help resolving it</li>\
<li>Are willing to discuss the issues in a calm and civil manner</li>\
<li>Are open to the idea of compromising with the other editors to resolve the dispute</li>\
</ul>\
\
<h3>This process can:</h3>\
<ul>\
<li>Help provide suggestions on content</li>\
<li>Frame discussions and offer support for parties that want to work towards a compromise</li>\
</ul>\
\
<h3>This process cannot:</h3>\
<ul>\
<li>Block other users from editing (either everywhere or specific pages)</li>\
<li>Remove content that you don\'t like from articles</li>\
<li>Force another editor to do something</li>\
<li>Address disputes that are currently under discussion somewhere else (such as <a href="http://enwp.org/WP:RFC">Requests for Comment</a>, <a href="http://enwp.org/WP:M">Mediation</a> or <a href="http://enwp.org/WP:RFAR">Arbitration</a>).</li>\
</p>\
 <br>Has this issue been discussed extensively on the article talk page? (If you don\'t know what an article talk page is, answer "Not yet". </p>');
 
    var buttons = '<a href="javascript:yesClick()" class="button1">Yes, it has.</a>';
    buttons += ' <a href="javascript:showCancel()" class="button1">Not yet.</a>';
    $("#drwButtons").html(buttons);
}
 
 
function showStep2( errorMsg ) {

    gDRW.wizard_step = 2;
    $("#drwProgressBar").html( gDRW.getProgressBar() );

    var intro = '';

    if ( typeof errorMsg !== 'undefined' ) {
        intro = '<p class="warning">' + errorMsg + '</p>';
    }

    intro += '<p>Here, briefly describe the current situation - where the dispute is happening, what is the dispute and what are you hoping to get out of dispute resolution. (Basically, how can we help resolve the issue?)<br><br>Take note of the character limits as they are there to help focus the discussion.</p>';

    $("#drwContent1").html( intro );
 
    gDRW.drawTitleInput();
 
    gDRW.drawDescriptionInput();
    
    gDRW.drawUserInput();
    
    gDRW.drawPreviousInput();
    
    gDRW.drawOutcomeInput();
 
    var buttons = '<a href="javascript:showStep1()" class="button1">Back</a>';
    buttons += ' <a href="javascript:showCancel()" class="button1">Cancel</a>';
    buttons += ' <a href="javascript:showStep3()" class="button1">Next</a>';
 
    $("#drwButtons").html(buttons);
}
 
function showStep3() {
 
    var inputErrors = [];

    //Check that vars were filled
    if (gDRW.article_title == '') {
        inputErrors.push("Location of dispute");
    }
    if (gDRW.dispute_description == '') {
        inputErrors.push("Dispute overview");
    }
    if (gDRW.previous_forums == '') {
        inputErrors.push("Previous steps");
    }
    if (gDRW.desired_outcome == '') {
        inputErrors.push("Desired outcome");
    }
    if ( inputErrors.length > 0 ) {
        return showStep2( 'All fields are required. Missing values for: '+inputErrors.join(', ') );
    }

    gDRW.wizard_step = 3;
    $("#drwProgressBar").html( gDRW.getProgressBar() );
 
    $("#drwContent1").html('<p>Here\'s a summary of what you\'ve told us. Quickly check that it\'s all correct before you submit your request, and we will file the dispute for you and give you a link to the discussion.</p>');
 
    gDRW.drawDRWSummary();
 
 
    var buttons = '<a href="javascript:showStep2()" class="button1">Edit</a>';
    buttons += ' <a href="javascript:showCancel()" class="button1">Cancel</a>';
    buttons += ' <a href="javascript:doSubmit()" class="button1">Save</a>';
 
    $("#drwButtons").html(buttons);
}
 
function showResult( status ) {
 
    $("#drwProgressBar").text('');
 
    if ( status == 'ok' ) {
        //Show thankyou
        $("#drwContent1").html('<h3>Success!</h3><p>Thank you for filing a request for dispute resolution</p>');
        $("#drwContent1").append( $("<a>Click here to go view your request.</a>").attr({ href: wgArticlePath.replace('$1', gDRW.post_link) }) );
        $("#drwButtons").html('');
    } else if ( status == 'error' ) {
        //Show error
        $("#drwContent1").html('<h2>Error</h2><p>Sorry, there was an error attaching your request. Maybe try it again?</p>');
        $("#drwButtons").html('<a href="javascript:showStep3()" class="button1">Back to Summary</a>');
    } else {
        $("#drwContent1").html('<h2>Error</p><p>Something went wrong!</p>');
        $("#drwButtons").html('');
    }
}
 
 
function showCancel() {
 
    gDRW.wizard_step = 0;
    $("#drwProgressBar").html( gDRW.getProgressBar() );
 
    $("#drwContent1").html('<p>It\'s best to discuss your concerns with the other users on the talk page of the article before seeking dispute resolution. You can find instructions on how to do this at <a href="http://en.wikipedia.org/wiki/WP:DISCUSSIT">this page,</a>\ or you can place <code><nowiki>{{helpme}}</nowiki></code> on <a href="http://enwp.org/Special:MyTalk">your own talk page</a>, and a volunteer will come by your page to help.<br><br> If you have already tried to discuss this issue already and have received <b>no</b> response from others, you may go back to the previous page and file a request - but this must only be done if you have attempted to discuss the issue first.</a>\</p>');
    $("#drwButtons").html('<a href="javascript:showStep1()" class="button1">Start Over</a>');
}
 
/**
 * Do the final step of the DRW and post the report to the appropriate page
 */
function doSubmit() {
 
    //Notify user that we are doing the update
    $("#drwProgressBar").html( '<div style="text-align: center"><img alt="saving report" src="https://upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif"></img></div>' );
    $("#drwContent1").html('<p>Posting Report....</p>');
 
    //Decide on the page to update
    var DRPage = 'Wikipedia:Dispute_resolution_noticeboard'; //The default page to post this
 
    /**
     * Decide where to post this dispute resolution report. In the end, DRPage needs to hold
     * the title of the page where we post the report.
     *
     * gDRW.dispute_type is set the short name (index) of the user-selected dispute type
     * gDRW.previous_forums['xxx'] will be true if the use ticked the 'xxx' checkbox in the previous forums
     */
 
 
    //Set the post-page on the DRW object
    gDRW.post_link = DRPage + "#" + gDRW.article_title.replace(' ', '_');

    //Compose Report
    var report = gDRW.getWikitextReport();
 
    //Add new section to designated page
    var edittoken = mw.user.tokens.get( 'editToken' );
 
    var date=new Date();
    var dateString=date.toLocaleDateString();
    var summary = gDRW.article_title;
 
    addNewSection( DRPage, summary, report, edittoken );
}
 
 
/**
 * Event handler functions
 */
function setDisputeForum( box ) {
    //alert("Setting "+gDRW.forum_labels[box.value]+" to true");
    gDRW.previous_forums[box.value] = box.checked;
    
    var linkboxid = "link_"+box.value;

    if ( box.checked ) {
        $("#"+linkboxid).show();
    } else {
        $("#"+linkboxid).hide();
    }
}
 
function updateLink( box ) {
        gDRW.forum_links[box.name] = box.value;
}
 
function yesClick() {
    gDRW.talkpage = true;
    showStep2();
}
 
/**
 * Taken almost verbatim from http://www.mediawiki.org/wiki/API:Edit
 */
function addNewSection( pagetitle, summary, content, editToken ) {
    $.ajax({
        url: mw.util.wikiScript( 'api' ),
        data: {
            format: 'json',
            action: 'edit',
            title: pagetitle,
            section: 'new',
            summary: summary,
            text: content,
            token: editToken
        },
        dataType: 'json',
        type: 'POST',
        success: function( data ) {
            if ( data && data.edit && data.edit.result == 'Success' ) {
                //window.location.reload(); // reload page if edit was successful
        showResult( 'ok' );
            } else if ( data && data.error ) {
                alert( 'Error: API returned error code "' + data.error.code + '": ' + data.error.info );
        showResult( 'error' );
            } else {
                alert( 'Error: Unknown result from API.' );
        showResult( 'error2' );
            }
        },
        error: function( xhr ) {
            alert( 'Error: Request failed.' );
        }
    });
}
 
 
/**
 * Initialization function. Test if we should place the DRW on the current page.
 * Looks for a <div id="myDRW"></div> on the page.
 */
 
function runDRW() {
 
    if ($('#myDRW').length){
 
                importStylesheet('User:Steven Zhang/DRW.css'); //CSS Styles for the DRW
 
               //Setup the App's workspace
                $("#myDRW").html('');
        $("#myDRW").append($('<div id=drw_main style="height: 600px; width: 800px; border : 2px black solid;"></div>'));
        $("#drw_main").css('height', '1000px');
        $("#drw_main").append('<div style="width: 750px; padding: 20px 25px; height: 30px; text-align: center" id="drwProgressBar"></div>');
        $("#drw_main").append('<div style="width: 700px; padding: 25px 50px" id="drwContent1"></div>');
        $("#drw_main").append('<div style="width: 700px; padding: 10px 50px; text-align: center" id="drwButtons"></div>');
 
        showStep1(); //Show the first page
    }
};
 
 
var gDRW = new drw();
 
$( document ).ready( runDRW() );
// JavaScript Document
// JavaScript Document

Regards, Steven Zhang Help resolve disputes! 11:45, 15 August 2013 (UTC)[reply]

Errr. Can you copy it to a sandbox or something so I don't copy it incorrectly? Thanks, Legoktm (talk) 05:11, 16 August 2013 (UTC)[reply]
I did this after talking with SZ on IRC. Legoktm (talk) 02:44, 20 August 2013 (UTC)[reply]

Location of dispute text

Note to those who may be interested: there is currently an open edit request about the "location of dispute" text at Wikipedia talk:Dispute resolution noticeboard/request#Protected edit request on 17 May 2014 Suggestion Fixing style/layout errors. — Mr. Stradivarius ♪ talk ♪ 08:57, 18 May 2014 (UTC)[reply]

Protected edit request on 14 April 2016

I've made an update to make the window scroll to the top of the form after a navigation button is clicked; currently, clicking, say, the "Yes, it does" button plunks the user in the middle of the form, which means that scrolling up is necessary. The code can be found at this revision of User:APerson/Gadget-DRN-wizard.js. APerson (talk!) 01:12, 14 April 2016 (UTC)[reply]

 Done ···日本穣 · 投稿 · Talk to Nihonjoe · Join WP Japan! 22:26, 14 April 2016 (UTC)[reply]

Protected edit request on 18 July 2016

I've improved the internal handling of involved editors so there's less messy string-parsing, and I've fixed a bug where [object Object] would sometimes appear in unwanted places. The code can be found at MediaWiki talk:Gadget-DRN-wizard.js/sandbox (for posterity, this revision).

Enterprisey (talk!(formerly APerson) 04:23, 18 July 2016 (UTC)[reply]

Done — Martin (MSGJ · talk) 08:09, 18 July 2016 (UTC)[reply]

Protected edit request on 22 July 2016

Fixed a few bugs (bug report). Code at sandbox (permalink). (edit) Explanation of what to do: copy-and-paste all the code that's currently on MediaWiki talk:Gadget-DRN-wizard.js/sandbox, and paste it at MediaWiki:Gadget-DRN-wizard.js.

Enterprisey (talk!(formerly APerson) 01:46, 22 July 2016 (UTC); edited 02:06, 22 July 2016 (UTC)[reply]

Done. Monty845 02:30, 22 July 2016 (UTC)[reply]
Thanks! Enterprisey (talk!(formerly APerson) 02:41, 22 July 2016 (UTC)[reply]

Protected edit request on 27 November 2017

Please change this:

		//Returns string of wikitext for submission to DR page
		var report = "{{DR case status}}\n{{drn filing editor|{{subst:REVISIONUSER}}|~~~~~}}\n{{subst:DNAU|14}}<!-- PLEASE REMOVE THE PREVIOUS COMMENT WHEN CLOSING THIS THREAD. (Otherwise the thread won't be archived until the date shown.) -->\n\n";

to this:

		//Returns string of wikitext for submission to DR page
		var report = "{{DR case status}}\n{{subst:DNAU|14}}<!-- REMEMBER TO REMOVE THE PREVIOUS COMMENT WHEN CLOSING THIS THREAD! -->\n{{drn filing editor|{{subst:REVISIONUSER}}|~~~~~}}\n\n";

It's causing volunteers to close cases where the fmbox clashes with {{drn filing editor}}; additionally, the html comment is a tad long and redundant. Thanks. Nihlus 01:44, 27 November 2017 (UTC)[reply]

Done — Martin (MSGJ · talk) 12:26, 27 November 2017 (UTC)[reply]

Interface-protected edit request on 22 September 2019

Request to implement a new version of this script. I've tested this on test.wikipedia.org and verified it functions correctly with desired behaviour. The code to copy here is located at User:Steven Crossin/DRW.js. Thanks. Steven Crossin Help resolve disputes! 16:45, 22 September 2019 (UTC)[reply]

Steven Crossin -  Done. ~Oshwah~(talk) (contribs) 16:51, 22 September 2019 (UTC)[reply]
Thanks for this (and the subsequent 487 changes to fix odd style issues that didn't exist at TestWiki. :-) Steven Crossin Help resolve disputes! 17:59, 22 September 2019 (UTC)[reply]

Interface-protected edit request on 2 October 2019

Please change: {{drn filing editor|Steven Crossin|16:24, 22 September 2019 (UTC)}}\n\n"; to {{drn filing editor|{{subst:REVISIONUSER}}|~~~~~}}\n\n";

Thanks. Steven Crossin Help resolve disputes! 07:38, 2 October 2019 (UTC)[reply]

 Donexaosflux Talk 10:15, 2 October 2019 (UTC)[reply]

convert to Snippets/Load JS and CSS by URL?

To anyone following, instead of forcing this as a gadget that is always on, would the use case be able to be satisfied by having the buttons use mw:Snippets/Load JS and CSS by URL? — xaosflux Talk 20:19, 5 March 2020 (UTC)[reply]

Well, the buttons are only there because of this; Wikipedia:Dispute resolution noticeboard/request has no content except the div. Not something I've ever used or thought about, so not sure what a redesign would entail. Regarding the snippets, I've actually thought for years that those should be removed from Common.js, but I figure I'm in the minority there. On an unrelated note, I was actually planning on gadgetizing the core of this before the current discussions started/my kiddo got sick. ~ Amory (utc) 01:43, 6 March 2020 (UTC)[reply]
@Amorymeltzer: ok so the only purpose of forcing this default gadget to check every single page load if you are on this one project page is so that when you click the button on Wikipedia:Dispute resolution noticeboard you get the fancy page right? If so any reason we can't just have the button go to https://en.wikipedia.org/wiki/Wikipedia:Dispute_resolution_noticeboard/request?withJS=MediaWiki:Gadget-DRN-wizard.js instead? — xaosflux Talk 02:57, 6 March 2020 (UTC)[reply]
So my quick testing says works just fine, I've updated Wikipedia:Dispute resolution noticeboard/Header to use the direct link and it is working on Wikipedia:Dispute resolution noticeboard. Will leave that project a note before disabling this gadget in a bit. — xaosflux Talk 03:15, 6 March 2020 (UTC)[reply]
Ahh thanks, I was thinking wrong button. Yeah, that should make sense; I don't know how many of us have turned it off, but I can't imagine it's a lot. ~ Amory (utc) 03:22, 6 March 2020 (UTC)[reply]
@Amorymeltzer: I don't suppose lots of people have turned it off, but if it's not needed it is one less js execution on every single page that is read so that adds up. — xaosflux Talk 03:27, 6 March 2020 (UTC)[reply]
Sorry if I was vague, overtired — I was agreeing with you, both in intent and direction! ~ Amory (utc) 03:29, 6 March 2020 (UTC)[reply]
@Writ Keeper and SD0001: as you were mentioned in the tangential discussion at WP:VPT. Perhaps this method wasn't working 7 years ago when this was worked up, but having to check every single page load for the benefit of this one button is certainly overkill! — xaosflux Talk 03:21, 6 March 2020 (UTC)[reply]
Looks good to me. Also remember to edit the page WP:Dispute resolution noticeboard/request itself to say something like "Can't see anything? [click here] to reload the page with JavaScript". (can't do it myself coz it's protected.)

I was actually planning on gadgetizing the core of this

@Amorymeltzer: this is already a gadget, so what are you talking about? SD0001 (talk) 08:21, 6 March 2020 (UTC)[reply]
The loader is a gadget, but it importScripts the code; every other such gadget (loader+code) has the core as a separate gadget, which is mw.loader.loaded. ~ Amory (utc) 15:30, 8 March 2020 (UTC)[reply]
Ah, I see. But isn't that pointless now after xaosflux's button tweaks? The enwiki version of mw:Snippets/Load JS and CSS by URL doesn't have the ?withModule= option, so the gadgetised core can't be used with that. The gadget definitions (loader+core) should now be removed as they're just polluting the module registry, adding bytes to every page load for no benefit. SD0001 (talk) 19:06, 8 March 2020 (UTC)[reply]
Yes, I said as much in my edit summary; AFAIAC, this was still under discussion/testing. ~ Amory (utc) 19:37, 8 March 2020 (UTC)[reply]
@SD0001: updated the js needed note on that page, also copied the same button control over in case anyone got linked directly to that page. — xaosflux Talk 13:09, 6 March 2020 (UTC)[reply]

Fixing the CSS load

There is a conspicuous lag between the loading of the javascript and loading of the CSS. The styles near the top are taking time to appear. This is because the CSS is being loaded using the javascript. To fix this,

?withJS=MediaWiki:Gadget-DRN-wizard.js
to
?withJS=MediaWiki:Gadget-DRN-wizard.js&withCSS=MediaWiki:Gadget-DRN-wizard.css
@SD0001:} did the first 2, bypassed the redirect on the third (as opposed to building this up in the gadget definition that is about to be disabled anyway) — xaosflux Talk 22:19, 8 March 2020 (UTC)[reply]
Removed now that it has been de-gadgeted. — xaosflux Talk 14:53, 9 March 2020 (UTC)[reply]

De-gadgetified

Gadget removed, let me know if any issues. — xaosflux Talk 14:53, 9 March 2020 (UTC)[reply]

Requested move 1 April 2020

The following is a closed discussion of a requested move. Please do not modify it. Subsequent comments should be made in a new section on the talk page. Editors desiring to contest the closing decision should consider a move review after discussing it on the closer's talk page. No further edits should be made to this discussion.

The result of the move request was: Moved buidhe 20:16, 18 April 2020 (UTC)[reply]



MediaWiki:Gadget-DRN-wizard.jsMediaWiki:DRN-wizard.js – No longer a gadget * Pppery * it has begun... 16:43, 1 April 2020 (UTC)[reply]


The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

warning and success classes

One or more or your scripts uses the warning or success classes. Be aware that the styling for these classes may be removed in the near future. See WP:VPT#Tech News: 2021-18 for a list of scripts. Izno (talk) 18:12, 3 May 2021 (UTC)[reply]

Interface-protected edit request on 9 April 2024

On line 191, which has the DNAU parameter, please change the 14 to 28, so that cases are not archived for one month unless the DNAU is removed. (The DNAU is removed by a bot when a case is marked as closed.) Robert McClenon (talk) 04:32, 9 April 2024 (UTC) Robert McClenon (talk) 04:32, 9 April 2024 (UTC)[reply]

 Donexaosflux Talk 13:40, 9 April 2024 (UTC)[reply]
Thank you, User:Xaosflux. Corrected much sooner than the misattribution of moved drafts. Robert McClenon (talk) 16:22, 9 April 2024 (UTC)[reply]