Changeset 301
- Timestamp:
- 01/21/2014 12:31:09 AM (11 years ago)
- Location:
- sites/trunk/wordpress.org/public_html/style/trac
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/style/trac/wp-trac.css
r295 r301 1101 1101 } 1102 1102 #edit-keywords { 1103 float: right;1104 1103 cursor: pointer; 1105 1104 font-size: 8px; 1106 1105 color: #999; 1107 margin: 6px 6px 0 0;1106 margin: 6px 6px 0 6px; 1108 1107 } 1109 1108 #keyword-bin span a:hover { … … 1120 1119 padding: 5px 6px 5px 0; 1121 1120 text-align: right; 1121 } 1122 1123 /* =Focuses */ 1124 #properties table td#focuses { 1125 padding: .6em 0 .3em; 1126 height: 66px; 1127 } 1128 #focuses span { 1129 float: left; 1130 } 1131 #focuses ul { 1132 float: left; 1133 width: 356px; 1134 margin: 0; 1135 padding: 0; 1136 list-style: none; 1137 } 1138 #focuses li { 1139 font-size: 12px; 1140 display: inline-block; 1141 float: left; 1142 margin: 0 0 6px 6px; 1143 border-radius: 3px; 1144 background: #eee; 1145 color: #aaa; 1146 } 1147 #focuses a { 1148 display: inline-block; 1149 padding: 4px 7px; 1150 color: inherit; 1151 border-radius: 3px; 1152 background: inherit; 1153 text-decoration: none; 1154 border-bottom: none; 1155 } 1156 #focuses li:hover, 1157 #focuses a:focus { 1158 color: #000; 1159 cursor: pointer; 1160 } 1161 #focuses li.active, 1162 #focuses li.active a:focus { 1163 background: #666; 1164 color: #fff; 1122 1165 } 1123 1166 -
sites/trunk/wordpress.org/public_html/style/trac/wp-trac.js
r300 r301 1 var wpTrac, coreKeywordList, gardenerKeywordList ;1 var wpTrac, coreKeywordList, gardenerKeywordList, coreFocusesList; 2 2 3 3 (function($){ … … 27 27 }; 28 28 29 coreFocusesList = { 30 'ui' : 'UI or design related.', 31 'javascript' : 'Heavy JavaScript focus.', 32 // 'accessibility' : 'Accessibility focus.', 33 'unit tests' : 'PHP or JS unit tests.', 34 'docs' : 'Documentation focus.', 35 'rtl' : 'Right-to-left languages.', 36 'administration' : 'Dashboard related, but assigned a more specifc component.', 37 'template' : 'Relating to theme template functions, but assigned a more specific component.', 38 'performance' : 'Performance or caching (but not the Cache API component).', 39 // 'multisite' : 'Relating to multisite, but assigned a more specific component.' 40 }; 41 29 42 gardenerKeywordList = [ 'commit', 'early', 'i18n-change' ]; 30 43 … … 357 370 $('#field-owner').parents('tr').remove(); 358 371 359 html = '<a id="edit-keywords">manual</a>'; 360 html += '<div><label id="keyword-label" for="keyword-add" style="width:' + labelWidth + 'px">Workflow Keywords:</label>'; 361 html += '<select id="keyword-add"><option value=""> - Add - </option></select></div>'; 372 html = '<div><label id="keyword-label" for="keyword-add" style="width:' + labelWidth + 'px">Workflow Keywords:</label>'; 373 html += '<select id="keyword-add"><option value=""> - Add - </option></select> <a id="edit-keywords">manual</a></div>'; 362 374 html += '<div id="keyword-bin"></div>'; 363 375 container.prepend( html ); … … 380 392 381 393 // Replace commas, collapse spaces, trim, then split by space. 382 keywords = $.trim( elements.hiddenEl.val().replace( ',', ' ').replace(/ +/g, ' ') ).split(' ');394 keywords = $.trim( elements.hiddenEl.val().replace(/,/g, ' ').replace(/ +/g, ' ') ).split(' '); 383 395 384 396 // Put our cleaned up version back into the hidden field. … … 397 409 // Populate the dropdown. 398 410 if ( elements.add ) { 399 elements.add. empty();411 elements.add.children().not('[value=""]').remove(); 400 412 } else { 401 413 elements.add = $('#keyword-add'); … … 476 488 } 477 489 } 490 }()), 491 492 focuses: (function() { 493 var field, container, focuses, originalFocuses; 494 495 function init() { 496 var ul, classes; 497 if ( typeof coreFocusesList === 'undefined' ) { 498 return; 499 } 500 501 field = $( '#field-focuses' ); 502 if ( field.length === 0 ) { 503 return; 504 } 505 $('label[for="field-focuses"]').parent().remove(); 506 field.parent().attr({ colspan: 2, id: 'focuses' }); 507 field.hide(); 508 509 focuses = $.trim( field.val().replace(/,/g, ' ').replace(/ +/g, ' ') ); 510 if ( focuses.length === 0 ) { 511 focuses = []; 512 } else { 513 focuses = focuses.split( ' ' ); 514 } 515 originalFocuses = $.merge( [], focuses ); 516 517 container = $( '#focuses' ); 518 container.append( '<span>Focuses:</span>' ); 519 ul = $( '<ul />' ); 520 $.each( coreFocusesList, function( focus, description ) { 521 classes = focus.replace( ' ', '-' ); 522 if ( -1 !== $.inArray( focus, focuses ) ) { 523 classes += ' active'; 524 } 525 ul.append( $( '<li />', { 526 'data-focus' : focus, 527 title: description, 528 class: classes 529 } ).html( '<a href="#">' + focus + '</a>' ) ); 530 }); 531 ul.appendTo( container ); 532 533 container.on( 'click', 'a', addRemove ); 534 container.closest( 'form' ).on( 'submit', submit ); 535 } 536 537 function addRemove() { 538 var focus = $( this ).parent(); 539 if ( focus.hasClass( 'active' ) ) { 540 remove( focus ); 541 } else { 542 add( focus ); 543 } 544 return false; 545 } 546 547 function add( focus ) { 548 focus.addClass( 'active' ); 549 focuses.push( focus.data( 'focus' ) ); 550 updateField(); 551 } 552 553 function remove( focus ) { 554 focus.removeClass( 'active' ); 555 var remove = focus.data( 'focus' ); 556 focuses = $.grep( focuses, function( value ) { 557 return value != remove; 558 } ); 559 updateField(); 560 } 561 562 function updateField() { 563 var orderedFocuses = []; 564 $.each( coreFocusesList, function( focus ) { 565 if ( -1 !== $.inArray( focus, focuses ) ) { 566 orderedFocuses.push( focus ); 567 } 568 }); 569 field.val( orderedFocuses.join( ', ' ) ); 570 } 571 572 function submit() { 573 if ( focuses.length !== originalFocuses.length ) 574 return; 575 var testFocuses = $.grep( focuses, function(v) { 576 return -1 === $.inArray( v, originalFocuses ); 577 }); 578 // If the difference has no length, then restore to the original order. 579 if ( ! testFocuses.length ) { 580 field.val( originalFocuses.join( ', ' ) ); 581 } 582 } 583 584 return { 585 init: init 586 }; 478 587 }()), 479 588
Note: See TracChangeset
for help on using the changeset viewer.