Changeset 26137
- Timestamp:
- 11/13/2013 07:37:10 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Gruntfile.js
r26110 r26137 77 77 } 78 78 }, 79 sass: { 80 colors: { 81 options: { 82 style: 'expanded', 83 sourcemap: true, 84 noCache: true 85 }, 86 files : [{ 87 expand: true, 88 cwd: SOURCE_DIR, 89 dest: BUILD_DIR, 90 ext: '.css', 91 src: ['wp-admin/css/color-schemes/*/colors.scss'] 92 }] 93 } 94 }, 79 95 cssmin: { 80 96 core: { … … 98 114 'wp-admin/css/*-rtl.css', 99 115 'wp-includes/css/*-rtl.css' 116 ] 117 }, 118 colors: { 119 expand: true, 120 cwd: BUILD_DIR, 121 dest: BUILD_DIR, 122 ext: '.min.css', 123 src: [ 124 'wp-admin/css/color-schemes/**/*.css' 100 125 ] 101 126 } … … 317 342 files: ['tests/qunit/**'], 318 343 tasks: ['qunit'] 344 }, 345 colors: { 346 files: [SOURCE_DIR + 'wp-admin/css/color-schemes/**'], 347 tasks: ['sass:colors'] 319 348 } 320 349 } … … 329 358 grunt.registerTask('rtl', ['cssjanus:core']); 330 359 360 grunt.registerTask('colors', ['sass:colors', 'cssmin:colors']); 361 331 362 // Build task. 332 grunt.registerTask('build', ['clean:all', 'copy:all', 'rtl', 'c ssmin:core', 'cssmin:rtl',363 grunt.registerTask('build', ['clean:all', 'copy:all', 'rtl', 'colors', 'cssmin:core', 'cssmin:rtl', 333 364 'uglify:core', 'uglify:tinymce', 'concat:tinymce', 'compress:tinymce', 'clean:tinymce']); 334 365 -
trunk/package.json
r26107 r26137 14 14 "grunt-contrib-copy": "~0.4.1", 15 15 "grunt-contrib-cssmin": "~0.6.1", 16 "grunt-contrib-sass": "~0.5.0", 16 17 "grunt-contrib-qunit": "~0.2.2", 17 18 "grunt-contrib-uglify": "~0.2.2", -
trunk/src/wp-admin/admin-ajax.php
r25868 r26137 59 59 'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor', 60 60 'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs', 61 'save-user-color-scheme', 61 62 ); 62 63 -
trunk/src/wp-admin/css/wp-admin.css
r26134 r26137 5637 5637 } 5638 5638 5639 .form-table div.color-option {5640 display: block;5641 clear: both;5642 margin-top: 12px;5643 }5644 5645 5639 .form-table input.tog { 5646 5640 margin-top: 2px; … … 5653 5647 margin-bottom: 0; 5654 5648 } 5655 5656 .form-table table.color-palette {5657 vertical-align: bottom;5658 float: left;5659 margin: -12px 3px 11px;5660 }5661 5662 .form-table .color-palette td {5663 border-width: 1px 1px 0;5664 border-style: solid solid none;5665 height: 10px;5666 line-height: 20px;5667 width: 10px;5668 }5669 5670 5649 5671 5650 .form-table td fieldset label { … … 6329 6308 #createuser .form-field input { 6330 6309 width: 25em; 6310 } 6311 6312 .picker-dropdown { 6313 background: #fcfcfc; 6314 border: 1px solid #dedede; 6315 margin-right: 12%; 6316 max-width: 270px; 6317 position: relative; 6318 width: auto; 6319 } 6320 6321 .picker-dropdown.dropdown-current { 6322 padding: 20px; 6323 margin-bottom: 15px; 6324 cursor: pointer; 6325 } 6326 6327 .picker-dropdown.dropdown-container { 6328 display: none; 6329 position: absolute; 6330 width: 340px; 6331 border-top: none; 6332 -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2); 6333 box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2); 6334 z-index: 1; 6335 } 6336 6337 .picker-expanded .picker-dropdown.dropdown-container { 6338 display: block; 6339 } 6340 6341 .picker-dropdown.dropdown-container:before, 6342 .picker-dropdown.dropdown-container:after { 6343 content: "\0020"; 6344 display: block; 6345 position: absolute; 6346 top: -10px; 6347 left: 150px; 6348 z-index: 2; 6349 width: 0; 6350 height: 0; 6351 overflow: hidden; 6352 border: solid 11px transparent; 6353 border-top: 0; 6354 border-bottom-color: #fefefe; 6355 } 6356 6357 .picker-dropdown.dropdown-container:before { 6358 top: -11px; 6359 z-index: 1; 6360 border-bottom-color: #dedede; 6361 } 6362 6363 .picker-dropdown-arrow { 6364 position: absolute; 6365 top: -1px; 6366 right: -42px; 6367 display: block; 6368 width: 40px; 6369 height: 100%; 6370 background: white; 6371 text-align: center; 6372 border: 1px solid #dedede; 6373 border-left-width: 0; 6374 cursor: pointer; 6375 } 6376 6377 .picker-dropdown-arrow:before { 6378 font: 20px/91px dashicons; 6379 content: '\f140'; 6380 } 6381 6382 .picker-expanded .picker-dropdown-arrow:before { 6383 content: '\f142'; 6384 } 6385 6386 .color-option { 6387 display: block; 6388 padding: 20px; 6389 border-top: 1px solid #dedede; 6390 } 6391 6392 .color-option:hover, 6393 .color-option.selected { 6394 background: #f2f8fa; 6395 } 6396 6397 .color-palette { 6398 width: 100%; 6399 border-spacing: 0; 6400 border-collapse: collapse; 6401 } 6402 .color-palette td { 6403 height: 20px; 6404 padding: 0; 6405 border: none; 6406 } 6407 6408 .color-option { 6409 cursor: pointer; 6410 } 6411 6412 .no-js .dropdown-current { 6413 display: none; 6414 } 6415 6416 .no-js .dropdown-container { 6417 display: block; 6418 position: static; 6419 } 6420 6421 .no-js .dropdown-container:before, 6422 .no-js .dropdown-container:after { 6423 display: none; 6331 6424 } 6332 6425 -
trunk/src/wp-admin/includes/ajax-actions.php
r25868 r26137 2245 2245 wp_send_json_success( $return ); 2246 2246 } 2247 2248 /** 2249 * Auto-save the selected color scheme for a user's own profile. 2250 * 2251 * @since 3.8.0 2252 */ 2253 function wp_ajax_save_user_color_scheme() { 2254 global $_wp_admin_css_colors; 2255 2256 $user_id = intval( $_POST['user_id'] ); 2257 $color_scheme = sanitize_key( $_POST['color_scheme'] ); 2258 2259 if ( get_current_user_id() !== $user_id ) 2260 wp_send_json_error(); 2261 2262 if ( ! get_user_by( 'id', $user_id ) ) 2263 wp_send_json_error(); 2264 2265 if ( ! isset( $_wp_admin_css_colors[ $color_scheme ] ) ) 2266 wp_send_json_error(); 2267 2268 update_user_option( $user_id, 'admin_color', $color_scheme, true ); 2269 wp_send_json_success(); 2270 } -
trunk/src/wp-admin/includes/misc.php
r25991 r26137 563 563 */ 564 564 function admin_color_scheme_picker() { 565 global $_wp_admin_css_colors, $user_id; ?> 566 <fieldset><legend class="screen-reader-text"><span><?php _e('Admin Color Scheme')?></span></legend> 565 global $_wp_admin_css_colors, $user_id; 566 ksort($_wp_admin_css_colors); 567 568 $current_color = get_user_option( 'admin_color', $user_id ); 569 570 if ( empty( $current_color ) || ! isset( $_wp_admin_css_colors[ $current_color ] ) ) 571 $current_color = 'fresh'; 572 573 $color_info = $_wp_admin_css_colors[ $current_color ]; 574 ?> 575 576 <fieldset id="color-picker"> 577 <legend class="screen-reader-text"><span><?php _e( 'Admin Color Scheme' ); ?></span></legend> 578 579 <div class="picker-dropdown dropdown-current"> 580 <div class="picker-dropdown-arrow"></div> 581 <label for="admin_color_<?php echo esc_attr( $current_color ); ?>"><?php echo esc_html( $color_info->name ); ?></label> 582 <table class="color-palette"> 583 <tr> 584 <?php foreach ( $color_info->colors as $html_color ): ?> 585 <td style="background-color: <?php echo esc_attr( $html_color ); ?>" title="<?php echo esc_attr( $current_color ); ?>"> </td> 586 <?php endforeach; ?> 587 </tr> 588 </table> 589 </div> 590 591 <div class="picker-dropdown dropdown-container"> 592 593 <?php foreach ( $_wp_admin_css_colors as $color => $color_info ) : ?> 594 595 <div class="color-option <?php echo ( $color == $current_color ) ? 'selected' : ''; ?>"> 596 <input name="admin_color" id="admin_color_<?php echo esc_attr( $color ); ?>" type="radio" value="<?php echo esc_attr( $color ); ?>" class="tog" <?php checked( $color, $current_color ); ?> /> 597 <input type="hidden" class="css_url" value="<?php echo esc_url( $color_info->url ); ?>" /> 598 <input type="hidden" class="icon_colors" value="<?php echo esc_attr( json_encode( array( 'icons' => $color_info->icon_colors ) ) ); ?>" /> 599 <label for="admin_color_<?php echo esc_attr( $color ); ?>"><?php echo esc_html( $color_info->name ); ?></label> 600 <table class="color-palette"> 601 <tr> 602 <?php foreach ( $color_info->colors as $html_color ): ?> 603 <td style="background-color: <?php echo esc_attr( $html_color ); ?>" title="<?php echo esc_attr( $color ); ?>"> </td> 604 <?php endforeach; ?> 605 </tr> 606 </table> 607 </div> 608 609 <?php endforeach; ?> 610 611 </div> 612 613 </fieldset> 614 567 615 <?php 568 $current_color = get_user_option('admin_color', $user_id); 569 if ( empty($current_color) ) 570 $current_color = 'fresh'; 571 foreach ( $_wp_admin_css_colors as $color => $color_info ): ?> 572 <div class="color-option"><input name="admin_color" id="admin_color_<?php echo esc_attr( $color ); ?>" type="radio" value="<?php echo esc_attr( $color ); ?>" class="tog" <?php checked($color, $current_color); ?> /> 573 <table class="color-palette"> 574 <tr> 575 <?php foreach ( $color_info->colors as $html_color ): ?> 576 <td style="background-color: <?php echo esc_attr( $html_color ); ?>" title="<?php echo esc_attr( $color ); ?>"> </td> 577 <?php endforeach; ?> 578 </tr> 579 </table> 580 581 <label for="admin_color_<?php echo esc_attr( $color ); ?>"><?php echo esc_html( $color_info->name ); ?></label> 582 </div> 583 <?php endforeach; ?> 584 </fieldset> 585 <?php 586 } 616 } 617 618 function set_color_scheme_json() { 619 global $_wp_admin_css_colors; 620 621 $color_scheme = get_user_option( 'admin_color' ); 622 623 if ( isset( $_wp_admin_css_colors[ $color_scheme ]->icon_colors ) ) { 624 echo '<script type="text/javascript">var mp6_color_scheme = ' . json_encode( array( 'icons' => $_wp_admin_css_colors[ $color_scheme ]->icon_colors ) ) . ";</script>\n"; 625 } 626 } 627 add_action( 'admin_head', 'set_color_scheme_json' ); 587 628 588 629 function _ipad_meta() { -
trunk/src/wp-admin/js/user-profile.js
r25637 r26137 74 74 }); 75 75 } 76 77 var $colorpicker = $( '#color-picker' ), 78 $stylesheet = $( '#colors-css' ), 79 user_id = $( 'input#user_id' ).val(), 80 current_user_id = $( 'input[name="checkuser_id"]' ).val(); 81 82 // dropdown toggle 83 $colorpicker.on( 'click', '.dropdown-current', function() { 84 $colorpicker.toggleClass( 'picker-expanded' ); 85 }); 86 87 $colorpicker.on( 'click', '.color-option', function() { 88 89 var color_scheme = $( this ).children( 'input[name="admin_color"]' ).val(); 90 91 // update selected 92 $( this ).siblings( '.selected' ).removeClass( 'selected' ) 93 $( this ).addClass( 'selected' ); 94 $( this ).find( 'input' ).prop( 'checked', true ); 95 96 // update current 97 $colorpicker.find( '.dropdown-current label' ).html( $( this ).children( 'label' ).html() ); 98 $colorpicker.find( '.dropdown-current table' ).html( $( this ).children( 'table' ).html() ); 99 $colorpicker.toggleClass( 'picker-expanded' ); 100 101 // preview/save color scheme 102 if ( user_id == current_user_id ) { 103 104 // repaint icons 105 $stylesheet.attr( 'href', $( this ).children( '.css_url' ).val() ); 106 svgPainter.setColors( $.parseJSON( $( this ).children( '.icon_colors' ).val() ) ); 107 svgPainter.paint(); 108 109 // update user option 110 $.post( ajaxurl, { 111 action: 'save-user-color-scheme', 112 color_scheme: color_scheme, 113 user_id: user_id 114 }); 115 116 } 117 118 }); 119 76 120 }); 77 121 -
trunk/src/wp-includes/general-template.php
r26096 r26137 2086 2086 * @param string $url The url of the css file containing the colour scheme. 2087 2087 * @param array $colors Optional An array of CSS color definitions which are used to give the user a feel for the theme. 2088 */ 2089 function wp_admin_css_color($key, $name, $url, $colors = array()) { 2088 * @param array $icons Optional An array of CSS color definitions used to color any SVG icons 2089 */ 2090 function wp_admin_css_color( $key, $name, $url, $colors = array(), $icons = array() ) { 2090 2091 global $_wp_admin_css_colors; 2091 2092 … … 2093 2094 $_wp_admin_css_colors = array(); 2094 2095 2095 $_wp_admin_css_colors[$key] = (object) array('name' => $name, 'url' => $url, 'colors' => $colors); 2096 $_wp_admin_css_colors[$key] = (object) array( 2097 'name' => $name, 2098 'url' => $url, 2099 'colors' => $colors, 2100 'icon_colors' => $icons, 2101 ); 2096 2102 } 2097 2103 … … 2102 2108 */ 2103 2109 function register_admin_color_schemes() { 2104 wp_admin_css_color( 'fresh', _x( 'Default', 'admin color scheme' ), admin_url( 'css/colors-fresh.min.css' ), 2105 array( '#222', '#333', '#0074a2', '#2ea2cc' ) ); 2110 $suffix = SCRIPT_DEBUG ? '' : '.min'; 2111 2112 wp_admin_css_color( 'fresh', _x( 'Default', 'admin color scheme' ), 2113 admin_url( "css/colors-fresh$suffix.css" ), 2114 array( '#222', '#333', '#0074a2', '#2ea2cc' ) 2115 ); 2116 2117 // Other color schemes are not available when running out of src 2118 if ( ! strpos( $GLOBALS['wp_version'], '-src' ) ) { 2119 wp_admin_css_color( 'light', _x( 'Light', 'admin color scheme' ), 2120 admin_url( "css/color-schemes/light/colors$suffix.css" ), 2121 array( '#e5e5e5', '#999', '#d64e07', '#04a4cc' ), 2122 array( 'base' => '#999', 'focus' => '#ccc', 'current' => '#ccc' ) 2123 ); 2124 2125 wp_admin_css_color( 'blue', _x( 'Blue', 'admin color scheme' ), 2126 admin_url( "css/color-schemes/blue/colors$suffix.css" ), 2127 array( '#096484', '#4796b3', '#52accc', '#74B6CE' ), 2128 array( 'base' => '#e5f8ff', 'focus' => '#fff', 'current' => '#fff' ) 2129 ); 2130 2131 wp_admin_css_color( 'midnight', _x( 'Midnight', 'admin color scheme' ), 2132 admin_url( "css/color-schemes/midnight/colors$suffix.css" ), 2133 array( '#25282b', '#363b3f', '#69a8bb', '#e14d43' ), 2134 array( 'base' => '#f1f2f3', 'focus' => '#fff', 'current' => '#fff' ) 2135 ); 2136 } 2106 2137 } 2107 2138
Note: See TracChangeset
for help on using the changeset viewer.