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

MediaWiki:Gadget-database-songs-core.js: Difference between revisions

MediaWiki interface page
Content added Content deleted
(test setting data for any to empty string)
(updated master diffs)
 
(One intermediate revision by the same user not shown)
Line 33: Line 33:
{
{
items: [
items: [
{ label: 'Any', data: '' },
{ label: 'Any', data: ' ' },
{ label: 'Yes', data: '1' },
{ label: 'Yes', data: '1' },
{ label: 'No', data: '0' }
{ label: 'No', data: '0' }
Line 79: Line 79:
{ param: 'easy difficulties', label: 'Easy difficulties', min: 5, max: 9 },
{ param: 'easy difficulties', label: 'Easy difficulties', min: 5, max: 9 },
{ param: 'normal difficulties', label: 'Normal difficulties', min: 10, max: 15 },
{ param: 'normal difficulties', label: 'Normal difficulties', min: 10, max: 15 },
{ param: 'hard difficulties', label: 'Hard difficulties', min: 15, max: 23 },
{ param: 'hard difficulties', label: 'Hard difficulties', min: 15, max: 24 },
{ param: 'expert difficulties', label: 'Expert difficulties', min: 21, max: 31 },
{ param: 'expert difficulties', label: 'Expert difficulties', min: 21, max: 31 },
{ param: 'master difficulties', label: 'Master difficulties', min: 26, max: 36 }
{ param: 'master difficulties', label: 'Master difficulties', min: 25, max: 37 },
].forEach( function( diff ) {
].forEach( function( diff ) {
var diffItems = [];
var diffItems = [];

Latest revision as of 05:56, 1 May 2024

( function ( $, mw, psw ) {
	'use strict';

	var qOptions = new psw.db.QueryOptions();
	var dOptions = new psw.db.DisplayOptions();
	
	qOptions.addButtonMultiInput(
		'units',
		{ label: 'Unit categories' },
		{
			multiselect: true,
			delimiter: ';',
			items: [
				{ label: 'VIRTUAL SINGER' },
				{ label: 'Leo/need' },
				{ label: 'MORE MORE JUMP!' },
				{ label: 'Vivid BAD SQUAD' },
				{ label: 'Wonderlands×Showtime' },
				{ label: '25-ji, Nightcord de.' },
				{ label: 'Other' }
			]
		}
	);
	
	[
		{ param: '3d mv', label: '3D MV?' },
		{ param: '2d mv', label: '2D MV?' },
		{ param: 'original mv', label: 'Original MV?' }
	].forEach( function( paramLabel ) {
		qOptions.addButtonMultiInput(
			paramLabel.param,
			{ label: paramLabel.label },
			{
				items: [
					{ label: 'Any', data: ' ' },
					{ label: 'Yes', data: '1' },
					{ label: 'No',  data: '0' }
				],
				selected: 'Any'
			}
		);
	} );
	
	qOptions.addButtonMultiInput(
		'types',
		{ label: 'Type(s)' },
		{
			multiselect: true,
			items: [
				{ label: 'Pre-existing', data: 'Pre-existing' },
				{ label: 'Commissioned', data: 'Commissioned' },
				{ label: 'Contest winner',  data: 'Contest winner' }
			]
		}
	);
	
	qOptions.addNumberInput(
		'min game duration',
		{ label: 'Minimum game-size duration (seconds)'  },
		{ min: 1, showButtons: false }
	);
	
	qOptions.addNumberInput(
		'max game duration',
		{ label: 'Maximum game-size duration (seconds)' },
		{ min: 1, showButtons: false }
	);
	
	qOptions.addDateInput(
		'released after',
		{ label: 'Released after' }
	);
	qOptions.addDateInput(
		'released before',
		{ label: 'Released before' }
	);
	
	[
		{ param: 'easy difficulties',   label: 'Easy difficulties',   min: 5,  max: 9 },
		{ param: 'normal difficulties', label: 'Normal difficulties', min: 10, max: 15 },
		{ param: 'hard difficulties',   label: 'Hard difficulties',   min: 15, max: 24 },
		{ param: 'expert difficulties', label: 'Expert difficulties', min: 21, max: 31 },
		{ param: 'master difficulties', label: 'Master difficulties', min: 25, max: 37 },
	].forEach( function( diff ) {
		var diffItems = [];
		for ( var i = diff.min; i <= diff.max; i++ ) {
			diffItems.push( { label: i.toString() } );
		}
		
		qOptions.addButtonMultiInput(
			diff.param,
			{ label: diff.label },
			{
				multiselect: true,
				items: diffItems
			}
		);
	} );
	
	dOptions.addColumnSelector(
		[
			{ name: 'producers', selected: true, label: 'Producer' },
			{ name: 'units', selected: true, label: 'Unit category' },
			{ name: 'bpm', selected: true, label: 'BPM' },
			{ name: 'game duration', selected: true, label: 'Duration (game-size)' },
			{ name: 'release date', selected: true, label: 'Release date' },
			{ name: 'type', selected: true, label: 'Type' },
			{ name: '3d mv', selected: true, label: '3D MV' },
			{ name: '2d mv', selected: true, label: '2D MV' },
			{ name: 'original mv', selected: true, label: 'Original MV' },
			{ name: 'easy difficulty', selected: false, label: 'Easy difficulty' },
			{ name: 'normal difficulty', selected: false, label: 'Normal difficulty' },
			{ name: 'hard difficulty', selected: false, label: 'Hard difficulty' },
			{ name: 'expert difficulty', selected: false, label: 'Expert difficulty' },
			{ name: 'master difficulty', selected: false, label: 'Master difficulty' },
			{ name: 'easy notes', selected: false, label: 'Easy notes' },
			{ name: 'normal notes', selected: false, label: 'Normal notes' },
			{ name: 'hard notes', selected: false, label: 'Hard notes' },
			{ name: 'expert notes', selected: false, label: 'Expert notes' },
			{ name: 'master notes', selected: false, label: 'Master notes' },
		],
		{ }
	);
	
	$( function () {
		var search = new psw.db.SearchWidget(
			{ queryOptions: qOptions, displayOptions: dOptions },
			{ selector: '#song-results', template: 'Song datatable'	}
		);
		
		$( '#song-query' ).append( search.fieldset.$element );
	});
	
} )( jQuery, mediaWiki, pswiki );
Cookies help us deliver our services. By using our services, you agree to our use of cookies.