Gerrit Patch Uploader has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/212589

Change subject: Fix some warnings spotted by JSLint
......................................................................

Fix some warnings spotted by JSLint

* Remove variable fr.
* Declare variables at the begin of the function. (partially)
* Use {} around if then else statements.

Todo:
* Reorder functions to prevent forward references.
This will be done in a separate change for better diff.

Change-Id: I3ea968a6d794dc4cc83bffb6a9306f30642f1ccd
---
M frontend/modules/ext.flaggedRevs.advanced.js
M frontend/modules/ext.flaggedRevs.review.js
2 files changed, 98 insertions(+), 97 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/FlaggedRevs 
refs/changes/89/212589/1

diff --git a/frontend/modules/ext.flaggedRevs.advanced.js 
b/frontend/modules/ext.flaggedRevs.advanced.js
index d941800..aa12278 100644
--- a/frontend/modules/ext.flaggedRevs.advanced.js
+++ b/frontend/modules/ext.flaggedRevs.advanced.js
@@ -6,26 +6,26 @@
 ( function ( mw, $ ) {
        "use strict";
 
-var fr = {
        /* Dropdown collapse timer */
-       boxCollapseTimer: null,
+       var boxCollapseTimer = null;
+
 
        /* Startup function */
-       init: function () {
+       function init() {
                // Enables rating detail box
                var toggle = $( '#mw-fr-revisiontoggle' );
 
                if ( toggle.length ) {
                        toggle.css( 'display', 'inline' ); // show toggle 
control
-                       fr.hideBoxDetails(); // hide the initially displayed 
ratings
+                       hideBoxDetails(); // hide the initially displayed 
ratings
                }
 
                // Bar UI: Toggle the box when the toggle is clicked
-               $( '.fr-toggle-symbol#mw-fr-revisiontoggle' ).click( 
fr.toggleBoxDetails );
+               $( '.fr-toggle-symbol#mw-fr-revisiontoggle' ).click( 
toggleBoxDetails );
 
                // Simple UI: Show the box on mouseOver
-               $( '.fr-toggle-arrow#mw-fr-revisiontoggle' ).mouseover( 
fr.onBoxMouseOver );
-               $( '.flaggedrevs_short#mw-fr-revisiontag' ).mouseout( 
fr.onBoxMouseOut );
+               $( '.fr-toggle-arrow#mw-fr-revisiontoggle' ).mouseover( 
onBoxMouseOver );
+               $( '.flaggedrevs_short#mw-fr-revisiontag' ).mouseout( 
onBoxMouseOut );
 
                // Enables diff detail box and toggle
                toggle = $( '#mw-fr-difftoggle' );
@@ -33,7 +33,7 @@
                        toggle.css( 'display', 'inline' ); // show toggle 
control
                        $( '#mw-fr-stablediff' ).hide();
                }
-               toggle.children( 'a' ).click( fr.toggleDiff );
+               toggle.children( 'a' ).click( toggleDiff );
 
                // Enables log detail box and toggle
                toggle = $( '#mw-fr-logtoggle' );
@@ -41,67 +41,67 @@
                        toggle.css( 'display', 'inline' ); // show toggle 
control
                        $( '#mw-fr-logexcerpt' ).hide();
                }
-               toggle.children( 'a' ).click( fr.toggleLog );
+               toggle.children( 'a' ).click( toggleLog );
 
                // Enables changing of save button when "review this" checkbox 
changes
-               $( '#wpReviewEdit' ).click( fr.updateSaveButton );
-       },
+               $( '#wpReviewEdit' ).click( updateSaveButton );
+       }
 
        /* Expands flag info box details */
-       showBoxDetails: function () {
+       function showBoxDetails() {
                $( '#mw-fr-revisiondetails' ).css( 'display', 'block' );
-       },
+       }
 
        /* Collapses flag info box details */
-       hideBoxDetails: function () {
+       function hideBoxDetails() {
                $( '#mw-fr-revisiondetails' ).css( 'display', 'none' );
-       },
+       }
 
        /**
         * Toggles flag info box details for (+/-) control
         * @context {jQuery}
         * @param e {jQuery.Event}
         */
-       toggleBoxDetails: function () {
+       function toggleBoxDetails() {
                var     toggle = $( '#mw-fr-revisiontoggle' ),
                        ratings = $( '#mw-fr-revisiondetails' );
 
                if ( toggle.length && ratings.length ) {
                        // Collapsed -> expand
                        if ( ratings.css( 'display' ) === 'none' ) {
-                               fr.showBoxDetails();
+                               showBoxDetails();
                                toggle.text( mw.msg( 'revreview-toggle-hide' ) 
);
                        // Expanded -> collapse
                        } else {
-                               fr.hideBoxDetails();
+                               hideBoxDetails();
                                toggle.text( mw.msg( 'revreview-toggle-show' ) 
);
                        }
                }
-       },
+       }
 
        /**
         * Expands flag info box details on mouseOver
         * @context {jQuery}
         * @param e {jQuery.Event}
         */
-       onBoxMouseOver: function () {
+       function onBoxMouseOver() {
                /*global window*/
-               window.clearTimeout( fr.boxCollapseTimer );
-               fr.boxCollapseTimer = null;
-               fr.showBoxDetails();
-       },
+               window.clearTimeout( boxCollapseTimer );
+               boxCollapseTimer = null;
+               showBoxDetails();
+       }
 
        /**
         * Hides flag info box details on mouseOut *except* for event bubbling
         * @context {jQuery}
         * @param e {jQuery.Event}
         */
-       onBoxMouseOut: function ( e ) {
-               if ( !fr.isMouseOutBubble( e, 'mw-fr-revisiontag' ) ) {
+       function onBoxMouseOut( e ) {
+               if ( !isMouseOutBubble( e, 'mw-fr-revisiontag' ) ) {
                        /*global window*/
-                       fr.boxCollapseTimer = window.setTimeout( 
fr.hideBoxDetails, 150 );
+                       boxCollapseTimer = window.setTimeout( hideBoxDetails, 
150 );
                }
-       },
+       }
 
        /**
         * Checks if mouseOut event is for a child of parentId
@@ -110,7 +110,7 @@
         * @return {Boolean} True if given event object originated from a 
(direct or indirect)
         * child element of an element with an id of parentId.
         */
-       isMouseOutBubble: function ( e, parentId ) {
+       function isMouseOutBubble( e, parentId ) {
                var toNode = e.relatedTarget;
 
                if ( toNode ) {
@@ -124,14 +124,14 @@
                        }
                }
                return false;
-       },
+       }
 
        /**
         * Toggles diffs
         * @context {jQuery}
         * @param e {jQuery.Event}
         */
-       toggleDiff: function () {
+       function toggleDiff() {
                var     diff = $( '#mw-fr-stablediff' ),
                        toggle = $( '#mw-fr-difftoggle' );
 
@@ -144,14 +144,14 @@
                                toggle.children( 'a' ).text( mw.msg( 
'revreview-diff-toggle-show' ) );
                        }
                }
-       },
+       }
 
        /**
         * Toggles log excerpts
         * @context {jQuery}
         * @param e {jQuery.Event}
         */
-       toggleLog: function () {
+       function toggleLog() {
                var     hideMsg, showMsg,
                        log = $( '#mw-fr-logexcerpt' ),
                        toggle = $( '#mw-fr-logtoggle' );
@@ -174,14 +174,14 @@
                                toggle.children( 'a' ).text( showMsg );
                        }
                }
-       },
+       }
 
        /**
         * Update save button when "review this" checkbox changes
         * @context {jQuery}
         * @param e {jQuery.Event}
         */
-       updateSaveButton: function () {
+       function updateSaveButton() {
                var     $save = $( '#wpSave' ),
                        $checkbox = $( '#wpReviewEdit' );
 
@@ -204,9 +204,8 @@
                        $save.updateTooltipAccessKeys();
                }
        }
-};
 
-// Perform some onload events:
-$( fr.init );
+       // Perform some onload events:
+       $( init );
 
 }( mediaWiki, jQuery ) );
diff --git a/frontend/modules/ext.flaggedRevs.review.js 
b/frontend/modules/ext.flaggedRevs.review.js
index 51693b7..a6bc9b7 100644
--- a/frontend/modules/ext.flaggedRevs.review.js
+++ b/frontend/modules/ext.flaggedRevs.review.js
@@ -6,18 +6,17 @@
 ( function ( mw, $ ) {
        "use strict";
 
-var wgFlaggedRevsParams = mw.config.get( 'wgFlaggedRevsParams' ),
-       fr = {
-       /* User is reviewing this page? */
-       isUserReviewing: 0,
+       var wgFlaggedRevsParams = mw.config.get( 'wgFlaggedRevsParams' ),
+               /* User is reviewing this page? */
+               isUserReviewing = 0;
 
        /* Startup function */
-       init: function () {
+       function init() {
                var form = $( '#mw-fr-reviewform' );
 
                // Enable AJAX-based submit functionality to the review form on 
this page
                $( '#mw-fr-submit-accept,#mw-fr-submit-unaccept' ).click( 
function () {
-                       fr.submitRevisionReview( this, form );
+                       submitRevisionReview( this, form );
                        return false; // don't do normal non-AJAX submit
                } );
 
@@ -30,22 +29,22 @@
                }
 
                // Setup <select> form option colors
-               fr.updateReviewFormColors( form );
+               updateReviewFormColors( form );
                // Update review form on change
                form.find( 'input,select' ).change( function () {
-                       fr.updateReviewForm( form );
+                       updateReviewForm( form );
                } );
 
                // Display "advertise" notice
-               fr.enableAjaxReviewActivity();
+               enableAjaxReviewActivity();
                // "De-advertise" user as "no longer reviewing" on navigate-away
                /*global window*/
                $( window ).unload( function () {
-                       if ( fr.isUserReviewing === 1 ) {
-                               fr.deadvertiseReviewing();
+                       if ( isUserReviewing === 1 ) {
+                               deadvertiseReviewing();
                        }
                } );
-       },
+       }
 
        /*
         * Updates for radios/checkboxes on patch by Daniel Arnold (bug 13744).
@@ -55,30 +54,31 @@
         * - Also remove comment box clutter in case of invalid input.
         * NOTE: all buttons should exist (perhaps hidden though)
         */
-       updateReviewForm: function ( form ) {
+       function updateReviewForm( form ) {
+               var somezero, tag, tagLevelSelects, tagLevelSelect, 
selectedlevel, i;
                if ( form.prop( 'disabled' ) ) {
                        return;
                }
 
-               var somezero = false;
+               somezero = false;
                // Determine if this is a "quality" or "incomplete" review
-               for ( var tag in wgFlaggedRevsParams.tags ) {
+               for ( tag in wgFlaggedRevsParams.tags ) {
                        // Get the element or elements for selecting the tag 
level.
                        // We might get back a select, a checkbox, or *several* 
radios.
-                       var tagLevelSelects = form.find( "[name='wp" + tag + 
"']" );
+                       tagLevelSelects = form.find( "[name='wp" + tag + "']" );
                        if ( !tagLevelSelects.length ) {
                                continue; // none found; binary flagging?
                        }
-                       var tagLevelSelect = tagLevelSelects.eq( 0 ); // 
convenient for select and checkbox
+                       tagLevelSelect = tagLevelSelects.eq( 0 ); // convenient 
for select and checkbox
 
-                       var selectedlevel = 0; // default
+                       selectedlevel = 0; // default
                        if ( tagLevelSelect.prop( 'nodeName' ) === 'SELECT' ) {
                                selectedlevel = tagLevelSelect.prop( 
'selectedIndex' );
                        } else if ( tagLevelSelect.prop( 'type' ) === 
'checkbox' ) {
                                selectedlevel = tagLevelSelect.prop( 'checked' 
) ? 1 : 0;
                        } else if ( tagLevelSelect.prop( 'type' ) === 'radio' ) 
{
                                // Go through each radio option and find the 
selected one...
-                               for ( var i = 0; i < tagLevelSelects.length; 
i++ ) {
+                               for ( i = 0; i < tagLevelSelects.length; i++ ) {
                                        if ( tagLevelSelects.eq( i ).prop( 
'checked' ) ) {
                                                selectedlevel = i;
                                                break;
@@ -100,38 +100,39 @@
                        .val( mw.msg( 'revreview-submit-review' ) ); // reset 
to "Accept"
 
                // Update colors of <select>
-               fr.updateReviewFormColors( form );
-       },
+               updateReviewFormColors( form );
+       }
 
        /*
         * Update <select> color for the selected item/option
         */
-       updateReviewFormColors: function ( form ) {
-               for ( var tag in wgFlaggedRevsParams.tags ) { // for each tag
-                       var select = form.find( "[name='wp" + tag + "']" ).eq( 
0 );
+       function updateReviewFormColors( form ) {
+               var tag, select, selectedlevel, value;
+               for ( tag in wgFlaggedRevsParams.tags ) { // for each tag
+                       select = form.find( "[name='wp" + tag + "']" ).eq( 0 );
                        // Look for a selector for this tag
                        if ( select.length && select.prop( 'nodeName' ) === 
'SELECT' ) {
-                               var selectedlevel = select.prop( 
'selectedIndex' );
-                               var value = select.children( 'option' ).eq( 
selectedlevel ).val();
+                               selectedlevel = select.prop( 'selectedIndex' );
+                               value = select.children( 'option' ).eq( 
selectedlevel ).val();
                                select.prop( 'className', 'fr-rating-option-' + 
value );
                                // Fix FF one-time jitter bug of changing an 
<option>
                                select.prop( 'selectedIndex', null );
                                select.prop( 'selectedIndex', selectedlevel );
                        }
                }
-       },
+       }
 
        /*
         * Lock review form from submissions (using during AJAX requests)
         */
-       lockReviewForm: function ( form ) {
+       function lockReviewForm( form ) {
                form.find( 'input,textarea,select' ).prop( 'disabled', true );
-       },
+       }
 
        /*
         * Unlock review form from submissions (using after AJAX requests)
         */
-       unlockReviewForm: function ( form ) {
+       function unlockReviewForm( form ) {
                var i, inputs = form.find( 'input' );
                for ( i = 0; i < inputs.length; i++ ) {
                        if ( inputs.eq( i ).prop( 'type' ) !== 'submit' ) { // 
not all buttons can be enabled
@@ -141,17 +142,17 @@
                        }
                }
                form.find( 'textarea,select' ).prop( 'disabled', false );
-       },
+       }
 
        /*
         * Submit a revision review via AJAX and update form elements.
-       *
+        *
         * Note: requestArgs build-up from radios/checkboxes
         * based on patch by Daniel Arnold (bug 13744)
         */
-       submitRevisionReview: function ( button, form ) {
+       function submitRevisionReview( button, form ) {
                var i;
-               fr.lockReviewForm( form ); // disallow submissions
+               lockReviewForm( form ); // disallow submissions
                // Build up arguments array and update submit button text...
                var requestArgs = []; // array of strings of the format 
<"pname|pval">.
                var inputs = form.find( 'input' );
@@ -198,23 +199,25 @@
                        data     : post_data,
                        dataType : 'html', // response type
                        success  : function ( response ) {
-                               fr.postSubmitRevisionReview( form, response );
+                               postSubmitRevisionReview( form, response );
                        },
                        error    : function () {
-                               fr.unlockReviewForm( form );
+                               unlockReviewForm( form );
                        }
                } );
-       },
+       }
 
        /*
         * Update form elements after AJAX review.
         */
-       postSubmitRevisionReview: function ( form, response ) {
+       function postSubmitRevisionReview( form, response ) {
                var msg = response.substr( 6 ); // remove <err#> or <suc#>
                // Read new "last change time" timestamp for conflict handling
                // @TODO: pass last-chage-time data using JSON or something not 
retarded
                var m = msg.match( /^<lct#(\d*)>(.*)/m );
-               if ( m ) msg = m[2]; // remove tag from msg
+               if ( m ) {
+                       msg = m[2]; // remove tag from msg
+               }
                var changeTime = m ? m[1] : null; // MW TS
 
                // Review form elements
@@ -304,30 +307,30 @@
                if ( changeTime !== null ) {
                        $( '#mw-fr-input-changetime' ).val( changeTime );
                }
-               fr.unlockReviewForm( form );
-       },
+               unlockReviewForm( form );
+       }
 
        /*
         * Enable AJAX-based functionality to set that a user is reviewing a 
page/diff
         */
-       enableAjaxReviewActivity: function () {
+       function enableAjaxReviewActivity() {
                // User is already reviewing in another tab...
                if ( $( '#mw-fr-user-reviewing' ).val() === 1 ) {
-                       fr.isUserReviewing = 1;
-                       fr.advertiseReviewing( null, true );
+                       isUserReviewing = 1;
+                       advertiseReviewing( null, true );
                // User is not already reviewing this....
                } else {
-                       fr.deadvertiseReviewing( null, true );
+                       deadvertiseReviewing( null, true );
                }
                $( '#mw-fr-reviewing-status' ).show();
-       },
+       }
 
        /*
         * Flag users as "now reviewing"
         */
-       advertiseReviewing: function ( e, isInitial ) {
+       function advertiseReviewing( e, isInitial ) {
                if ( isInitial !== true ) { // don't send if just setting up 
form
-                       if ( !fr.setReviewingStatus( 1 ) ) {
+                       if ( !setReviewingStatus( 1 ) ) {
                                return; // failed
                        }
                }
@@ -345,15 +348,15 @@
                                { id: 'mw-fr-reviewing-stop' }, mw.msg( 
'revreview-adv-stop-link' ) ) + ')' )
                        .find( '#mw-fr-reviewing-stop' )
                        .css( 'cursor', 'pointer' )
-                       .click( fr.deadvertiseReviewing );
-       },
+                       .click( deadvertiseReviewing );
+       }
 
        /*
         * Flag users as "no longer reviewing"
         */
-       deadvertiseReviewing: function ( e, isInitial ) {
+       function deadvertiseReviewing( e, isInitial ) {
                if ( isInitial !== true ) { // don't send if just setting up 
form
-                       if ( !fr.setReviewingStatus( 0 ) ) {
+                       if ( !setReviewingStatus( 0 ) ) {
                                return; // failed
                        }
                }
@@ -371,15 +374,15 @@
                );
                $underReview.find( '#mw-fr-reviewing-start' )
                        .css( 'cursor', 'pointer' )
-                       .click( fr.advertiseReviewing );
+                       .click( advertiseReviewing );
                // Update notice to say that user is not advertising...
                $( '#mw-fr-reviewing-status' ).empty().append( $underReview );
-       },
+       }
 
        /*
         * Set reviewing status for this page/diff
         */
-       setReviewingStatus: function ( value ) {
+       function setReviewingStatus( value ) {
                var res = false,
                        // Get {previd,oldid} array for this page view.
                        // The previd value will be 0 if this is not a diff 
view.
@@ -406,15 +409,14 @@
                                async    : false
                        } );
                        if ( res && res.reviewactivity && 
res.reviewactivity.result === 'Success' ) {
-                               fr.isUserReviewing = value;
+                               isUserReviewing = value;
                                return true;
                        }
                }
                return false;
        }
-};
 
-// Perform some onload events:
-$( fr.init );
+       // Perform some onload events:
+       $( init );
 
 }( mediaWiki, jQuery ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/212589
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ea968a6d794dc4cc83bffb6a9306f30642f1ccd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/FlaggedRevs
Gerrit-Branch: master
Gerrit-Owner: Gerrit Patch Uploader <gerritpatchuploa...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to