Changeset 29372
- Timestamp:
- 08/04/2014 08:46:42 PM (12 years ago)
- Location:
- trunk/src/wp-admin
- Files:
-
- 3 edited
-
css/install.css (modified) (3 diffs)
-
includes/upgrade.php (modified) (2 diffs)
-
js/language-chooser.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/css/install.css
r29325 r29372 99 99 padding: 0; 100 100 } 101 . step.button-large {102 font-size: 14px;101 .language-chooser.wp-core-ui .step .button.button-large { 102 height: 36px; 103 103 } 104 104 textarea { … … 326 326 } 327 327 328 .language-chooser fieldset { 329 margin: 1px; 328 .language-chooser select { 330 329 padding: 8px; 330 width: 100%; 331 331 display: block; 332 332 border: 1px solid #ddd; 333 -webkit-border-radius: 0;334 border-radius: 0; /* Reset mobile webkit's default element styling */335 -webkit-transition: .05s border-color ease-in-out;336 transition: .05s border-color ease-in-out;337 outline: 0;338 -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);339 box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);340 333 background-color: #fff; 341 334 color: #333; 342 335 font-size: 16px; 343 font-family: inherit; 344 font-weight: inherit; 345 overflow-y: scroll; 346 height: 250px; 347 } 348 349 .language-chooser fieldset.focus { 350 border-color: #5b9dd9; 351 -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8); 352 box-shadow: 0 0 2px rgba(30,140,190,0.8); 353 } 354 355 .wp-core-ui.language-chooser .button.button-hero { 356 font-size: 30px; 357 line-height: 30px; 336 font-family: Arial, sans-serif; 337 font-weight: normal; 358 338 } 359 339 360 340 .language-chooser p { 361 341 text-align: right; 362 }363 364 .language-chooser input:checked + label{365 color:white;366 background: #777;367 }368 369 .language-chooser .focus input:checked + label{370 background: #0074A2;371 }372 373 .language-chooser label:hover {374 background: #eee;375 }376 377 .language-chooser label{378 display:block;379 342 } 380 343 … … 405 368 .step .spinner { 406 369 display: inline-block; 370 margin-top: 8px; 407 371 margin-right: 15px; 372 vertical-align: top; 408 373 } 409 374 -
trunk/src/wp-admin/includes/upgrade.php
r29260 r29372 2194 2194 endif; 2195 2195 2196 /** 2197 * Output the input fields for the language selection form on the installation screen. 2198 * 2199 * @since 4.0.0 2200 * 2201 * @see wp_get_available_translations_from_api() 2202 * 2203 * @param array $languages Array of available languages (populated via the Translations API). 2204 */ 2196 2205 function wp_install_language_form( $languages ) { 2197 echo "<fieldset>\n"; 2198 echo "<legend class='screen-reader-text'>Select a default language</legend>\n"; 2199 echo '<input type="radio" checked="checked" class="screen-reader-input language-chooser-input" name="language" id="language_default" value="">'; 2200 echo '<label for="language_default" lang="en">English (United States)</label>'; 2206 $installed_languages = get_available_languages(); 2207 2208 echo "<label class='screen-reader-text' for='language'>Select a default language</label>\n"; 2209 echo "<select size='14' name='language' id='language'>\n"; 2210 echo '<option value="" lang="en" selected="selected" data-continue="Continue" data-installed="1">English (United States)</option>'; 2201 2211 echo "\n"; 2202 2212 … … 2204 2214 if ( isset( $languages[ WPLANG ] ) ) { 2205 2215 $language = $languages[ WPLANG ]; 2206 echo '<input type="radio" name="language" checked="checked" class="' . esc_attr( $language['language'] ) . ' screen-reader-input" id="language_wplang" value="' . esc_attr( $language['language'] ) . '">'; 2207 echo '<label for="language_wplang" lang="' . esc_attr( $language['iso'][1] ) . '">' . esc_html( $language['native_name'] ) . "</label>\n"; 2216 echo '<option value="' . esc_attr( $language['language'] ) . '" lang="' . esc_attr( $language['iso'][1] ) . '">' . esc_html( $language['native_name'] ) . "</option>\n"; 2208 2217 } 2209 2218 } 2210 2219 2211 2220 foreach ( $languages as $language ) { 2212 echo '<input type="radio" name="language" class="' . esc_attr( $language['language'] ) . ' screen-reader-input language-chooser-input" id="language_'. esc_attr( $language['language'] ) .'" value="' . esc_attr( $language['language'] ) . '">'; 2213 echo '<label for="language_' . esc_attr( $language['language'] ) . '" lang="' . esc_attr( $language['iso'][1] ) . '">' . esc_html( $language['native_name'] ) . "</label>\n"; 2214 } 2215 echo "</fieldset>\n"; 2216 echo '<p class="step"><span class="spinner"></span><input type="submit" class="button button-primary button-hero" value="»" /></p>'; 2221 printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n", 2222 esc_attr( $language['language'] ), 2223 esc_attr( $language['iso'][1] ), 2224 esc_attr( $language['strings']['continue'] ), 2225 in_array( $language['language'], $installed_languages ) ? ' data-installed="1"' : '', 2226 esc_html( $language['native_name'] ) ); 2227 } 2228 echo "</select>\n"; 2229 echo '<p class="step"><span class="spinner"></span><input id="language-continue" type="submit" class="button button-primary button-large" value="Continue" /></p>'; 2217 2230 } 2218 2231 -
trunk/src/wp-admin/js/language-chooser.js
r29021 r29372 1 (function($){ 2 if ( $('body').hasClass('language-chooser') === false ) { 3 return; 1 jQuery( function($) { 2 3 var select = $( '#language' ), 4 submit = $( '#language-continue' ); 5 6 if ( ! $( 'body' ).hasClass( 'language-chooser' ) ) { 7 return; 8 } 9 10 select.focus().on( 'change', function() { 11 var option = select.children( 'option:selected' ); 12 submit.attr({ 13 value: option.data( 'continue' ), 14 lang: option.attr( 'lang' ) 15 }); 16 }); 17 18 $( 'form' ).submit( function() { 19 // Don't show a spinner for English and installed languages, 20 // as there is nothing to download. 21 if ( ! select.children( 'option:selected' ).data( 'installed' ) ) { 22 $( this ).find( '.step .spinner' ).css( 'visibility', 'visible' ); 4 23 } 24 }); 5 25 6 var mouseDown = 0, 7 $fieldset = $('fieldset'); 8 9 // simple way to check if mousebutton is depressed while accounting for multiple mouse buttons being used independently 10 document.body.onmousedown = function() { 11 ++mouseDown; 12 }; 13 document.body.onmouseup = function() { 14 --mouseDown; 15 }; 16 17 /* 18 we can't rely upon the focusout event 19 since clicking on a label triggers it 20 */ 21 function maybeRemoveFieldsetFocus(){ 22 if (mouseDown) { 23 setTimeout( maybeRemoveFieldsetFocus, 50); 24 return; 25 } 26 if ( $(':focus').hasClass('language-chooser-input') !== true ) { 27 $fieldset.removeClass('focus'); 28 } 29 } 30 31 $fieldset.focusin( function() { 32 $(this).addClass('focus'); 33 }); 34 35 $fieldset.focusout( function() { 36 setTimeout( maybeRemoveFieldsetFocus, 50); 37 }); 38 39 $('form').submit(function(){ 40 $(this).find('.step .spinner').css('visibility','visible'); 41 }); 42 43 })(jQuery); 26 });
Note: See TracChangeset
for help on using the changeset viewer.