Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Gadget-dialogue-options.js

MediaWiki interface page
Revision as of 22:07, 11 December 2021 by ChaoticShadow (talk | contribs)

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)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
mw.loader.using( ['oojs-ui-core', 'oojs-ui-widgets'] ).done( function() {
	
	function makeLangToggle() {
		var langToggle = new OO.ui.ButtonSelectWidget( {
			items: [
				new OO.ui.ButtonOptionWidget({ data: 'en', label: 'English' }),
				new OO.ui.ButtonOptionWidget({ data: 'jp', label: 'Japanese' }),
				new OO.ui.ButtonOptionWidget({ data: 'both', label: 'Both' })
			],
			align: 'left'
		} );
		langToggle.selectItemByData('en');
		langToggle.on( 'choose' , function( item, selected ) {
			$( '.dialogue' ).each( function() {
				var $dt_en = $( this ).find( '.dt-en' );
				var $dt_jp = $( this ).find( '.dt-jp' );
				
				if ( item.getData() === 'en' ) {
					$dt_jp.hide();
					$dt_en.show();
				} else if ( item.getData() === 'jp' ) {
					$dt_en.hide();
					$dt_jp.show();
				} else if ( item.getData() === 'both' ) {
					$dt_en.show();
					$dt_jp.show();
				}
			} );
		} );
		
		$( '.dialogue' ).each( function() {
			var $dt_jp = $( this ).find( '.dt-jp' );
			$dt_jp.hide();
		} );
	}
	
	function makeColorToggle() {
		var colorToggle = new OO.ui.CheckboxInputWidget( {
			value: 'colorized',
			selected: false
		} );
		
		return colorToggle;
	}
	
	$( function() {
		var langToggle = makeLangToggle();
		var colorToggle = makeColorToggle();
		
		var fieldset = new OO.ui.FieldsetLayout( {
			label: 'Dialogue options'
		} );
		
		fieldset.addItems( [
			new OO.ui.FieldLayout( langToggle, { label: 'Display langauge', align: 'inline' }),
			new OO.ui.FieldLayout( colorToggle, { label: 'Show character colors', align: 'inline' } ),
		] );
		
		$( '.dialogue-toggle' ).append( fieldset.$element );
	} );
});
Cookies help us deliver our services. By using our services, you agree to our use of cookies.