Merge "Add part to update ctd_user_defined in populateChangeTagDef"
[lhc/web/wiklou.git] / resources / src / mediawiki.special.preferences.ooui / editfont.js
1 /*!
2 * JavaScript for Special:Preferences: editfont field enhancements.
3 */
4 ( function ( mw ) {
5 mw.hook( 'htmlform.enhance' ).add( function ( $root ) {
6 var widget, lastValue,
7 $target = $root.find( '#mw-input-wpeditfont' );
8
9 if (
10 !$target.length ||
11 $target.closest( '.mw-htmlform-autoinfuse-lazy' ).length
12 ) {
13 return;
14 }
15
16 try {
17 widget = OO.ui.infuse( $target );
18 } catch ( err ) {
19 // This preference could theoretically be disabled ($wgHiddenPrefs)
20 return;
21 }
22
23 // Style options
24 widget.dropdownWidget.menu.items.forEach( function ( item ) {
25 item.$label.addClass( 'mw-editfont-' + item.getData() );
26 } );
27
28 function updateLabel( value ) {
29 // Style selected item label
30 widget.dropdownWidget.$label
31 .removeClass( 'mw-editfont-' + lastValue )
32 .addClass( 'mw-editfont-' + value );
33 lastValue = value;
34 }
35
36 widget.on( 'change', updateLabel );
37 updateLabel( widget.getValue() );
38
39 } );
40 }( mediaWiki ) );