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

MediaWiki:Gadget-calculator-crystals-core.js

MediaWiki interface page
Revision as of 15:00, 24 August 2022 by ChaoticShadow (talk | contribs) (added default date)

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.
( function ( $, mw ) {
	/* 
	 * Date range
	 */
	var startDateWidget = new mw.widgets.DateInputWidget( {
			type: 'date',
			value: new Date().toISOString().split('T')[0]
		} );
	
	var endDateWidget = new mw.widgets.DateInputWidget( {
			type: 'date'
		} )
	
	var dateFieldset = new OO.ui.FieldsetLayout( {
	    label: 'Date range',
	    items: [
	    	new OO.ui.FieldLayout(
	    		startDateWidget,
				{
					label: 'Start date',
					align: 'inline',
					help: 'test'
				}
			),
			new OO.ui.FieldLayout(
				endDateWidget,
				{
					label: 'End date',
					align: 'inline'
				}
			)
		]
	} );
	
	/*
	 * Event
	 */
	var eventTierOptions = [ 'T1-10', 'T20-100', 'T200-500', 'T1000', 
		'T2000-5000', 'T10000-50000', 'T100000', 'T200000', 'T300000',
		'T500000', 'T1000000' ];
	var eventTierWidget = new OO.ui.FieldLayout(
		new OO.ui.ButtonSelectWidget( {
			items: eventTierOptions.map( function( tier ) {
				return new OO.ui.ButtonOptionWidget( {
					data: tier,
					label: tier
				} );
			} ),
		} ),
		{
			label: 'Average tier',
			align: 'inline'
		}
	); 
	 
    var eventFieldset = new OO.ui.FieldsetLayout( {
	    label: 'Events',
	    items: [
	    	eventTierWidget
		]
	} );
	
	/* 
	 * Song
	 */
	var songRankOptions = [ 'S', 'A', 'B', 'C' ];
	var songRankWidget = new OO.ui.FieldLayout(
		new OO.ui.ButtonSelectWidget( {
			items: songRankOptions.map( function( rank ) {
				return new OO.ui.ButtonOptionWidget( {
					data: rank,
					label: rank
				} );
			} ),
		} ),
		{
			label: 'Average song score rank',
			align: 'inline'
		}
	);
	
	var songComboOptions = [ 'Combo 4 (full combo)', 'Combo 3', 'Combo 2',
		'Combo 1' ];
	var songComboHardWidget = new OO.ui.FieldLayout(
		new OO.ui.ButtonSelectWidget( {
			items: songComboOptions.map( function( combo ) {
				return new OO.ui.ButtonOptionWidget( {
					data: combo,
					label: combo
				} );
			} )
		} ),
		{
			label: 'Average song combo milestone (on hard)',
			align: 'inline'
		}
	);
	
	var songComboExpertWidget = new OO.ui.FieldLayout(
		new OO.ui.ButtonSelectWidget( {
			items: songComboOptions.map( function( combo ) {
				return new OO.ui.ButtonOptionWidget( {
					data: combo,
					label: combo
				} );
			} )
		} ),
		{
			label: 'Average song combo milestone (on expert)',
			align: 'inline'
		}
	);
	
	var songComboMasterWidget = new OO.ui.FieldLayout(
		new OO.ui.ButtonSelectWidget( {
			items: songComboOptions.map( function( combo ) {
				return new OO.ui.ButtonOptionWidget( {
					data: combo,
					label: combo
				} );
			} )
		} ),
		{
			label: 'Average song combo milestone (on master)',
			align: 'inline'
		}
	);
	
    var songFieldset = new OO.ui.FieldsetLayout( {
	    label: 'Songs',
	    items: [
	    	songRankWidget,
	    	songComboHardWidget,
	    	songComboExpertWidget,
	    	songComboMasterWidget
		]
	} );

	/* 
	 * Challenge Stamp
	 */
	var clStampWidget = new OO.ui.RadioSelectInputWidget( {
		options: [
			{ data: 'true', label: 'Yes' },
			{ data: 'false', label: 'No' }
		],
		value: 'true'
	} );
    
    var clFieldset = new OO.ui.FieldsetLayout( {
	    label: 'Crystals selected as Challenge Stamp reward?',
	    items: [
	    	clStampWidget
		]
	} );
	
	/*
	 * Intermediate values
	 */
	var ivEvents = new OO.ui.NumberInputWidget( {
	    label: 'Number of events',
    	min: 0
	} );
	var ivSongs = new OO.ui.NumberInputWidget( {
	    label: 'Number of songs',
    	min: 0
	} );
	var intermediateFieldset = new OO.ui.FieldsetLayout( {
		label: 'Intermediate values',
		items: [
			ivEvents,
			ivSongs
		]
	} );
	
	/*
	 * Everything
	 */
	var submitButton = new OO.ui.FieldLayout(
		new OO.ui.ButtonInputWidget( { 
			label: 'Calculate',
			flags: [ 'primary', 'progressive' ],
			align: 'left',
			icon: 'mathematics'
		} )
	);
	
	var fieldset = new OO.ui.FieldsetLayout( {
		items: [
			dateFieldset,
			eventFieldset,
			songFieldset,
			clFieldset,
			intermediateFieldset,
			submitButton
		]
	} );

	$( '#calculator' ).append( fieldset.$element );
	
} )( jQuery, mediaWiki );
Cookies help us deliver our services. By using our services, you agree to our use of cookies.