Content added Content deleted
m (fixed variable) |
(added selector logic) |
||
Line 14: | Line 14: | ||
function langSelect( item, selected ) { |
function langSelect( item, selected ) { |
||
⚫ | |||
var cssSelector = '#lyrics-' + id + ' .lyric'; |
var cssSelector = '#lyrics-' + id + ' .lyric'; |
||
⚫ | |||
var changedLang = item.getData(); |
|||
var langSelector = ''; |
|||
switch( changedLang ) { |
|||
case 'jp': |
|||
langSelector = '.ly-jp'; |
|||
break; |
|||
case 'rm': |
|||
langSelector = '.ly-rm'; |
|||
break; |
|||
case 'en': |
|||
langSelector = '.ly-en'; |
|||
break; |
|||
default: |
|||
return; |
|||
} |
|||
$( cssSelector ).each( function() { |
$( cssSelector ).each( function() { |
||
var $ |
var $ly = $( this ).find( langSelector ); |
||
var $ly_rm = $( this ).find( '.ly-rm' ); |
|||
if ( selected ) { |
|||
$ly.show(); |
|||
} else { |
|||
$ly.hide(); |
|||
} |
|||
} ); |
} ); |
||
Revision as of 01:32, 26 July 2022
( function ( $, mw ) {
'use strict';
function makeLanguageSelector( id ) {
var selector = new OO.ui.ButtonSelectWidget( {
items: [
new OO.ui.ButtonOptionWidget( { data: 'jp', label: 'Japanese' } ),
new OO.ui.ButtonOptionWidget( { data: 'rm', label: 'Romaji '} ),
new OO.ui.ButtonOptionWidget( { data: 'en', label: 'English' } )
],
align: 'left',
multiselect: true
} );
function langSelect( item, selected ) {
var cssSelector = '#lyrics-' + id + ' .lyric';
var changedLang = item.getData();
var langSelector = '';
switch( changedLang ) {
case 'jp':
langSelector = '.ly-jp';
break;
case 'rm':
langSelector = '.ly-rm';
break;
case 'en':
langSelector = '.ly-en';
break;
default:
return;
}
$( cssSelector ).each( function() {
var $ly = $( this ).find( langSelector );
if ( selected ) {
$ly.show();
} else {
$ly.hide();
}
} );
console.log(item, selected);
}
selector.on( 'choose', langSelect );
selector.on( 'select', langSelect );
return selector;
}
$( function() {
$( '.lyrics-options' ).each( function () {
var id = $( this ).data( 'id' );
var fieldset = new OO.ui.FieldsetLayout( {
label: 'Dialogue display options'
} );
var langSelector = makeLanguageSelector( id );
fieldset.addItems( [
new OO.ui.FieldLayout( langSelector, { label: 'Display language', align: 'inline' } )
] );
$( this ).append( fieldset.$element );
} );
} );
} )( jQuery, mediaWiki );