jenkins-bot has submitted this change and it was merged. Change subject: History: Simplify checkboxes script on History pages ......................................................................
History: Simplify checkboxes script on History pages This should reduce the amount of variables constructed and also switches to a class based implementation, which allows us to do the same with fewer calls touching the DOM. Not supported by IE6. Bug: 51561 Change-Id: I4596b3667f990ef1d8c7ca753e1d80fe285d5614 --- M resources/Resources.php A resources/src/mediawiki.action/mediawiki.action.history.css M resources/src/mediawiki.action/mediawiki.action.history.js 3 files changed, 23 insertions(+), 33 deletions(-) Approvals: Bartosz Dziewoński: Looks good to me, approved jenkins-bot: Verified diff --git a/resources/Resources.php b/resources/Resources.php index ac83302..ea7d397 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1024,6 +1024,7 @@ ), 'mediawiki.action.history' => array( 'scripts' => 'resources/src/mediawiki.action/mediawiki.action.history.js', + 'styles' => 'resources/src/mediawiki.action/mediawiki.action.history.css', 'group' => 'mediawiki.action.history', ), 'mediawiki.action.history.diff' => array( diff --git a/resources/src/mediawiki.action/mediawiki.action.history.css b/resources/src/mediawiki.action/mediawiki.action.history.css new file mode 100644 index 0000000..603a965 --- /dev/null +++ b/resources/src/mediawiki.action/mediawiki.action.history.css @@ -0,0 +1,4 @@ +#pagehistory li.before input[name="oldid"], +#pagehistory li.after input[name="diff"] { + visibility: hidden; +} diff --git a/resources/src/mediawiki.action/mediawiki.action.history.js b/resources/src/mediawiki.action/mediawiki.action.history.js index 8aa5a1f..ac48c59 100644 --- a/resources/src/mediawiki.action/mediawiki.action.history.js +++ b/resources/src/mediawiki.action/mediawiki.action.history.js @@ -12,54 +12,39 @@ * @param e {jQuery.Event} */ function updateDiffRadios() { - var diffLi = false, // the li where the diff radio is checked - oldLi = false; // the li where the oldid radio is checked + var nextState = 'before', + $li, + $inputs, + $oldidRadio, + $diffRadio; if ( !$lis.length ) { return true; } $lis - .removeClass( 'selected' ) .each( function () { - var $li = $( this ), - $inputs = $li.find( 'input[type="radio"]' ), - $oldidRadio = $inputs.filter( '[name="oldid"]' ).eq( 0 ), - $diffRadio = $inputs.filter( '[name="diff"]' ).eq( 0 ); + $li = $( this ); + $inputs = $li.find( 'input[type="radio"]' ); + $oldidRadio = $inputs.filter( '[name="oldid"]' ).eq( 0 ); + $diffRadio = $inputs.filter( '[name="diff"]' ).eq( 0 ); + + $li.removeClass( 'selected between before after' ); if ( !$oldidRadio.length || !$diffRadio.length ) { return true; } if ( $oldidRadio.prop( 'checked' ) ) { - oldLi = true; - $li.addClass( 'selected' ); - $oldidRadio.css( 'visibility', 'visible' ); - $diffRadio.css( 'visibility', 'hidden' ); - + $li.addClass( 'selected after' ); + nextState = 'after'; } else if ( $diffRadio.prop( 'checked' ) ) { - diffLi = true; - $li.addClass( 'selected' ); - $oldidRadio.css( 'visibility', 'hidden' ); - $diffRadio.css( 'visibility', 'visible' ); - - // This list item has neither checked + $li.addClass( 'selected ' + nextState ); + nextState = 'between'; } else { - // We're below the selected radios - if ( diffLi && oldLi ) { - $oldidRadio.css( 'visibility', 'visible' ); - $diffRadio.css( 'visibility', 'hidden' ); - - // We're between the selected radios - } else if ( diffLi ) { - $diffRadio.css( 'visibility', 'visible' ); - $oldidRadio.css( 'visibility', 'visible' ); - - // We're above the selected radios - } else { - $diffRadio.css( 'visibility', 'visible' ); - $oldidRadio.css( 'visibility', 'hidden' ); - } + // This list item has neither checked + // apply the appropriate class following the previous item. + $li.addClass( nextState ); } } ); -- To view, visit https://gerrit.wikimedia.org/r/133709 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I4596b3667f990ef1d8c7ca753e1d80fe285d5614 Gerrit-PatchSet: 5 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: TheDJ <hartman.w...@gmail.com> Gerrit-Reviewer: Bartosz Dziewoński <matma....@gmail.com> Gerrit-Reviewer: Edokter <er...@darcoury.nl> Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net> Gerrit-Reviewer: Krinkle <krinklem...@gmail.com> Gerrit-Reviewer: TheDJ <hartman.w...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits