Personal tools

Sponsorname

Your company could advertise here

www.fla-consulting.eu

MediaWiki:Common.js

From GxPlex

Revision as of 16:05, 22 June 2026 by Gxplex admin (talk | contribs) (fix: use post-vote display HTML for star toggle instead of pre-vote snapshot)
Jump to: navigation, search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* VoteNY: restore star view after voting */
( function ( $, mw ) {
	'use strict';

	$( function () {
		if ( mw.config.get( 'wgNamespaceNumber' ) !== 0 ) {
			return;
		}

		$( document ).ajaxComplete( function ( event, xhr, settings ) {
			var params;
			try {
				params = new URLSearchParams( settings.data );
			} catch ( e ) {
				return;
			}
			if (
				params.get( 'action' ) !== 'voteny' ||
				params.get( 'type' ) !== 'stars' ||
				params.get( 'what' ) !== 'multi'
			) {
				return;
			}

			var data;
			try {
				data = JSON.parse( xhr.responseText );
			} catch ( e ) {
				return;
			}

			var displayHtml = data && data.voteny && data.voteny.display;
			var pageId = params.get( 'pageId' );
			if ( !displayHtml || !pageId ) {
				return;
			}

			var $el = $( '#rating_' + pageId );
			$el.data( 'gplx-stars-html', displayHtml );

			if ( !$el.find( '.vote-rating-star' ).length && !$el.find( '.gplx-vote-toggle' ).length ) {
				$el.append(
					$( '<button>' )
						.addClass( 'gplx-vote-toggle' )
						.text( 'Show rating' )
						.on( 'click', function () {
							$el.html( $el.data( 'gplx-stars-html' ) );
							$el.removeData( 'gplx-stars-html' );
						} )
				);
			}
		} );
	} );

}( jQuery, mediaWiki ) );