2 $( document
).ready( function() {
4 // Generate the tool tips
5 $( '.mw-help-field-hint' ).tipsy( { gravity
: 'se', opacity
: '0.9' } );
7 // Show/hide code for DB-specific options
8 // FIXME: Do we want slow, fast, or even non-animated (instantaneous) showing/hiding here?
9 $( '.dbRadio' ).each( function() { $( '#' + $(this).attr( 'rel' ) ).hide(); } );
10 $( '#' + $( '.dbRadio:checked' ).attr( 'rel' ) ).show();
11 $( '.dbRadio' ).click( function() {
12 var $checked
= $( '.dbRadio:checked' );
13 var $wrapper
= $( '#' + $checked
.attr( 'rel' ) );
14 if ( !$wrapper
.is( ':visible' ) ) {
15 $( '.dbWrapper' ).hide( 'slow' );
16 $wrapper
.show( 'slow' );
20 // Scroll to the bottom of upgrade log
21 $( "#config-update-log" ).each( function() { this.scrollTop
= this.scrollHeight
; } );
23 // Show/hide Creative Commons thingy
24 $( '.licenseRadio' ).click( function() {
25 var $wrapper
= $( '#config-cc-wrapper' );
26 if ( $( '#config__LicenseCode_cc-choose' ).is( ':checked' ) ) {
27 $wrapper
.show( 'slow' );
29 $wrapper
.hide( 'slow' );
33 // Show/hide random stuff (email, upload)
34 $( '.showHideRadio' ).click( function() {
35 var $wrapper
= $( '#' + $(this).attr( 'rel' ) );
36 if ( $(this).is( ':checked' ) ) {
37 $wrapper
.show( 'slow' );
39 $wrapper
.hide( 'slow' );
42 $( '.hideShowRadio' ).click( function() {
43 var $wrapper
= $( '#' + $(this).attr( 'rel' ) );
44 if ( $(this).is( ':checked' ) ) {
45 $wrapper
.hide( 'slow' );
47 $wrapper
.show( 'slow' );
51 // Hide "other" textboxes by default
52 // Should not be done in CSS for javascript disabled compatibility
53 $( '.enabledByOther' ).closest( '.config-block' ).hide();
55 // Enable/disable "other" textboxes
56 $( '.enableForOther' ).click( function() {
57 var $textbox
= $( '#' + $(this).attr( 'rel' ) );
58 if ( $(this).val() == 'other' ) { // FIXME: Ugh, this is ugly
59 $textbox
.removeAttr( 'readonly' ).closest( '.config-block' ).slideDown( 'fast' );
61 $textbox
.attr( 'readonly', 'readonly' ).closest( '.config-block' ).slideUp( 'fast' );
65 // Synchronize radio button label for sitename with textbox
66 $label
= $( 'label[for=config__NamespaceType_site-name]' );
67 labelText
= $label
.text();
68 $label
.text( labelText
.replace( '$1', '' ) );
69 $( '#config_wgSitename' ).bind( 'keyup change', syncText
).each( syncText
);
71 var value
= $(this).val()
72 .replace( /[\[\]\{\}|#<>%+? ]/g, '_' )
73 .replace( /&/, '&' )
74 .replace( /__+/g, '_' )
76 .replace( /_+$/, '' );
77 value
= value
.substr( 0, 1 ).toUpperCase() + value
.substr( 1 );
78 $label
.text( labelText
.replace( '$1', value
) );
81 // Show/Hide memcached servers when needed
82 $("input[name$='config_wgMainCacheType']").change( function() {
83 var $memc
= $( "#config-memcachewrapper" );
84 if( $( "input[name$='config_wgMainCacheType']:checked" ).val() == 'memcached' ) {