<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[3316] sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer: developer.wordpress.org: In textarea for user notes, make the 'tab' key insert a tab.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://meta.trac.wordpress.org/changeset/3316">3316</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/3316","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>coffee2code</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2016-06-07 19:28:51 +0000 (Tue, 07 Jun 2016)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>developer.wordpress.org: In textarea for user notes, make the 'tab' key insert a tab.

Adapts JS code, behavior, and help string from core. It is still possible to navigate out of the field by first pressing escape (sometimes twice), then tab.

Also sets `tab-size` to match that used on display.

Props afercia for insight.
Fixes <a href="http://meta.trac.wordpress.org/ticket/626">#626</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgdevelopercommentsphp">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/comments.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgdeveloperjsusernotesjs">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/js/user-notes.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgdeveloperscssmainscss">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/scss/main.scss</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgdeveloperstylesheetsmaincss">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/stylesheets/main.css</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgdevelopercommentsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/comments.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/comments.php  2016-06-07 18:55:39 UTC (rev 3315)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/comments.php    2016-06-07 19:28:51 UTC (rev 3316)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -69,6 +69,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                __( 'Do not use this form for support requests, discussions, spam, bug reports, complaints, or self-promotion. Entries of this nature will be deleted.', 'wporg' ) .
</span><span class="cx" style="display: block; padding: 0 10px">                                '</p><p>' .
</span><span class="cx" style="display: block; padding: 0 10px">                                __( 'You can enter text and code. Use the php, js, or inline code buttons to wrap code snippets.', 'wporg' ) .
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                '</p><p>' .
+                               __( 'In the editing area the Tab key enters a tab character. To move below this area by pressing Tab, press the Esc key followed by the Tab key. In some cases the Esc key will need to be pressed twice before the Tab key will allow you to continue.', 'wporg' ) .
</ins><span class="cx" style="display: block; padding: 0 10px">                                 '</p><p class="user-notes-are-gpl">' .
</span><span class="cx" style="display: block; padding: 0 10px">                                sprintf( __( '<strong>NOTE:</strong> All contributions are licensed under <a href="%s">GFDL</a> and are moderated before appearing on the site.', 'wporg' ), 'https://gnu.org/licenses/fdl.html' ) .
</span><span class="cx" style="display: block; padding: 0 10px">                                '</p>',
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgdeveloperjsusernotesjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/js/user-notes.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/js/user-notes.js      2016-06-07 18:55:39 UTC (rev 3315)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/js/user-notes.js        2016-06-07 19:28:51 UTC (rev 3316)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -36,4 +36,45 @@
</span><span class="cx" style="display: block; padding: 0 10px">        QTags.addButton( 'js', 'js', '[js]', '[/js]' );
</span><span class="cx" style="display: block; padding: 0 10px">        QTags.addButton( 'inline-code', 'inline code', '<code>', '</code>' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        // Override tab within user notes textarea to actually insert a tab character.
+       // Copied from code within core's wp-admin/js/common.js.
+       $('.comment-form textarea').bind('keydown.wpevent_InsertTab', function(e) {
+               var el = e.target, selStart, selEnd, val, scroll, sel;
+
+               if ( e.keyCode == 27 ) { // escape key
+                       // when pressing Escape: Opera 12 and 27 blur form fields, IE 8 clears them
+                       e.preventDefault();
+                       $(el).data('tab-out', true);
+                       return;
+               }
+
+               if ( e.keyCode != 9 || e.ctrlKey || e.altKey || e.shiftKey ) // tab key
+                       return;
+
+               if ( $(el).data('tab-out') ) {
+                       $(el).data('tab-out', false);
+                       return;
+               }
+
+               selStart = el.selectionStart;
+               selEnd = el.selectionEnd;
+               val = el.value;
+
+               if ( document.selection ) {
+                       el.focus();
+                       sel = document.selection.createRange();
+                       sel.text = '\t';
+               } else if ( selStart >= 0 ) {
+                       scroll = this.scrollTop;
+                       el.value = val.substring(0, selStart).concat('\t', val.substring(selEnd) );
+                       el.selectionStart = el.selectionEnd = selStart + 1;
+                       this.scrollTop = scroll;
+               }
+
+               if ( e.stopPropagation )
+                       e.stopPropagation();
+               if ( e.preventDefault )
+                       e.preventDefault();
+       });
+
</ins><span class="cx" style="display: block; padding: 0 10px"> } )( jQuery );
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgdeveloperscssmainscss"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/scss/main.scss</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/scss/main.scss        2016-06-07 18:55:39 UTC (rev 3315)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/scss/main.scss  2016-06-07 19:28:51 UTC (rev 3316)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -242,6 +242,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        textarea {
</span><span class="cx" style="display: block; padding: 0 10px">                overflow: auto; /* Removes default vertical scrollbar in IE6/7/8/9 */
</span><span class="cx" style="display: block; padding: 0 10px">                padding-left: 3px;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                tab-size: 4;
</ins><span class="cx" style="display: block; padding: 0 10px">                 vertical-align: top; /* Improves readability and alignment in all browsers */
</span><span class="cx" style="display: block; padding: 0 10px">                width: 98%;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgdeveloperstylesheetsmaincss"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/stylesheets/main.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/stylesheets/main.css  2016-06-07 18:55:39 UTC (rev 3315)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/stylesheets/main.css    2016-06-07 19:28:51 UTC (rev 3316)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -555,6 +555,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">   overflow: auto;
</span><span class="cx" style="display: block; padding: 0 10px">   /* Removes default vertical scrollbar in IE6/7/8/9 */
</span><span class="cx" style="display: block; padding: 0 10px">   padding-left: 3px;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  tab-size: 4;
</ins><span class="cx" style="display: block; padding: 0 10px">   vertical-align: top;
</span><span class="cx" style="display: block; padding: 0 10px">   /* Improves readability and alignment in all browsers */
</span><span class="cx" style="display: block; padding: 0 10px">   width: 98%;
</span></span></pre>
</div>
</div>

</body>
</html>