src/cm/media/js/lib/yui/yui3.0.0/api/console.js.html
changeset 0 40c8f766c9b8
equal deleted inserted replaced
-1:000000000000 0:40c8f766c9b8
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
       
     2 <html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
       
     3 <head>
       
     4     <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
       
     5 	<title>API: console   console.js  (YUI Library)</title>
       
     6 
       
     7 	<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
       
     8 	<link rel="stylesheet" type="text/css" href="assets/api.css" />
       
     9 
       
    10     <script type="text/javascript" src="assets/api-js"></script>
       
    11     <script type="text/javascript" src="assets/ac-js"></script>
       
    12 </head>
       
    13 
       
    14 <body id="yahoo-com">
       
    15 
       
    16 <div id="doc3" class="yui-t2">
       
    17 	<div id="hd">
       
    18         <h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1>
       
    19         <h3>console&nbsp; <span class="subtitle">3.0.0</span></h3>
       
    20         <a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a> 
       
    21             &gt; <a href="./module_console.html" title="console">console</a>
       
    22                 
       
    23                  &gt; console.js (source view) 
       
    24         <form onsubmit="return false">
       
    25             <div id="propertysearch">
       
    26                 Search: <input autocomplete="off" id="searchinput" />
       
    27                 <div id="searchresults">
       
    28                     &nbsp;
       
    29                 </div>
       
    30             </div>
       
    31         </form>
       
    32 	</div>
       
    33 
       
    34 	<div id="bd">
       
    35 		<div id="yui-main">
       
    36 			<div class="yui-b">
       
    37             <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
       
    38                 <fieldset>
       
    39                     <legend>Filters</legend>
       
    40                 <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
       
    41                 <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
       
    42                 <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
       
    43                 </fieldset>
       
    44             </form>
       
    45 
       
    46                     <div id="srcout">
       
    47                         <style>
       
    48                             #doc3 .classopts { display:none; }
       
    49                         </style>
       
    50                         <div class="highlight" ><pre><span class="c">/**</span>
       
    51 <span class="c"> * Console creates a visualization for messages logged through calls to a YUI</span>
       
    52 <span class="c"> * instance&#39;s &lt;code&gt;Y.log( message, category, source )&lt;/code&gt; method.  The</span>
       
    53 <span class="c"> * debug versions of YUI modules will include logging statements to offer some</span>
       
    54 <span class="c"> * insight into the steps executed during that module&#39;s operation.  Including</span>
       
    55 <span class="c"> * log statements in your code will cause those messages to also appear in the</span>
       
    56 <span class="c"> * Console.  Use Console to aid in developing your page or application.</span>
       
    57 <span class="c"> *</span>
       
    58 <span class="c"> * Entry categories &amp;quot;info&amp;quot;, &amp;quot;warn&amp;quot;, and &amp;quot;error&amp;quot;</span>
       
    59 <span class="c"> * are also referred to as the log level, and entries are filtered against the</span>
       
    60 <span class="c"> * configured logLevel.</span>
       
    61 <span class="c"> *</span>
       
    62 <span class="c"> * @module console</span>
       
    63 <span class="c"> * @class Console</span>
       
    64 <span class="c"> * @extends Widget</span>
       
    65 <span class="c"> * @param conf {Object} Configuration object (see Configuration attributes)</span>
       
    66 <span class="c"> * @constructor</span>
       
    67 <span class="c"> */</span>
       
    68 <span class="k">function</span> <span class="nx">Console</span><span class="o">()</span> <span class="o">{</span>
       
    69     <span class="nx">Console</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">constructor</span><span class="o">.</span><span class="nx">apply</span><span class="o">(</span><span class="k">this</span><span class="o">,</span><span class="nx">arguments</span><span class="o">);</span>
       
    70 <span class="o">}</span>
       
    71 
       
    72 <span class="k">var</span> <span class="nx">getCN</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">ClassNameManager</span><span class="o">.</span><span class="nx">getClassName</span><span class="o">,</span>
       
    73     <span class="nx">CHECKED</span>        <span class="o">=</span> <span class="s1">&#39;checked&#39;</span><span class="o">,</span>
       
    74     <span class="nx">CLEAR</span>          <span class="o">=</span> <span class="s1">&#39;clear&#39;</span><span class="o">,</span>
       
    75     <span class="nx">CLICK</span>          <span class="o">=</span> <span class="s1">&#39;click&#39;</span><span class="o">,</span>
       
    76     <span class="nx">COLLAPSED</span>      <span class="o">=</span> <span class="s1">&#39;collapsed&#39;</span><span class="o">,</span>
       
    77     <span class="nx">CONSOLE</span>        <span class="o">=</span> <span class="s1">&#39;console&#39;</span><span class="o">,</span>
       
    78     <span class="nx">CONTENT_BOX</span>    <span class="o">=</span> <span class="s1">&#39;contentBox&#39;</span><span class="o">,</span>
       
    79     <span class="nx">DISABLED</span>       <span class="o">=</span> <span class="s1">&#39;disabled&#39;</span><span class="o">,</span>
       
    80     <span class="nx">ENTRY</span>          <span class="o">=</span> <span class="s1">&#39;entry&#39;</span><span class="o">,</span>
       
    81     <span class="nx">ERROR</span>          <span class="o">=</span> <span class="s1">&#39;error&#39;</span><span class="o">,</span>
       
    82     <span class="nx">HEIGHT</span>         <span class="o">=</span> <span class="s1">&#39;height&#39;</span><span class="o">,</span>
       
    83     <span class="nx">INFO</span>           <span class="o">=</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span>
       
    84     <span class="nx">INNER_HTML</span>     <span class="o">=</span> <span class="s1">&#39;innerHTML&#39;</span><span class="o">,</span>
       
    85     <span class="nx">LAST_TIME</span>      <span class="o">=</span> <span class="s1">&#39;lastTime&#39;</span><span class="o">,</span>
       
    86     <span class="nx">PAUSE</span>          <span class="o">=</span> <span class="s1">&#39;pause&#39;</span><span class="o">,</span>
       
    87     <span class="nx">PAUSED</span>         <span class="o">=</span> <span class="s1">&#39;paused&#39;</span><span class="o">,</span>
       
    88     <span class="nx">RESET</span>          <span class="o">=</span> <span class="s1">&#39;reset&#39;</span><span class="o">,</span>
       
    89     <span class="nx">START_TIME</span>     <span class="o">=</span> <span class="s1">&#39;startTime&#39;</span><span class="o">,</span>
       
    90     <span class="nx">TITLE</span>          <span class="o">=</span> <span class="s1">&#39;title&#39;</span><span class="o">,</span>
       
    91     <span class="nx">WARN</span>           <span class="o">=</span> <span class="s1">&#39;warn&#39;</span><span class="o">,</span>
       
    92 
       
    93     <span class="nx">DOT</span> <span class="o">=</span> <span class="s1">&#39;.&#39;</span><span class="o">,</span>
       
    94 
       
    95     <span class="nx">C_BUTTON</span>           <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="s1">&#39;button&#39;</span><span class="o">),</span>
       
    96     <span class="nx">C_CHECKBOX</span>         <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="s1">&#39;checkbox&#39;</span><span class="o">),</span>
       
    97     <span class="nx">C_CLEAR</span>            <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">CLEAR</span><span class="o">),</span>
       
    98     <span class="nx">C_COLLAPSE</span>         <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="s1">&#39;collapse&#39;</span><span class="o">),</span>
       
    99     <span class="nx">C_COLLAPSED</span>        <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">COLLAPSED</span><span class="o">),</span>
       
   100     <span class="nx">C_CONSOLE_CONTROLS</span> <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="s1">&#39;controls&#39;</span><span class="o">),</span>
       
   101     <span class="nx">C_CONSOLE_HD</span>       <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="s1">&#39;hd&#39;</span><span class="o">),</span>
       
   102     <span class="nx">C_CONSOLE_BD</span>       <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="s1">&#39;bd&#39;</span><span class="o">),</span>
       
   103     <span class="nx">C_CONSOLE_FT</span>       <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="s1">&#39;ft&#39;</span><span class="o">),</span>
       
   104     <span class="nx">C_CONSOLE_TITLE</span>    <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">TITLE</span><span class="o">),</span>
       
   105     <span class="nx">C_ENTRY</span>            <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">ENTRY</span><span class="o">),</span>
       
   106     <span class="nx">C_ENTRY_CAT</span>        <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">ENTRY</span><span class="o">,</span><span class="s1">&#39;cat&#39;</span><span class="o">),</span>
       
   107     <span class="nx">C_ENTRY_CONTENT</span>    <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">ENTRY</span><span class="o">,</span><span class="s1">&#39;content&#39;</span><span class="o">),</span>
       
   108     <span class="nx">C_ENTRY_META</span>       <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">ENTRY</span><span class="o">,</span><span class="s1">&#39;meta&#39;</span><span class="o">),</span>
       
   109     <span class="nx">C_ENTRY_SRC</span>        <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">ENTRY</span><span class="o">,</span><span class="s1">&#39;src&#39;</span><span class="o">),</span>
       
   110     <span class="nx">C_ENTRY_TIME</span>       <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">ENTRY</span><span class="o">,</span><span class="s1">&#39;time&#39;</span><span class="o">),</span>
       
   111     <span class="nx">C_PAUSE</span>            <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">PAUSE</span><span class="o">),</span>
       
   112     <span class="nx">C_PAUSE_LABEL</span>      <span class="o">=</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">PAUSE</span><span class="o">,</span><span class="s1">&#39;label&#39;</span><span class="o">),</span>
       
   113 
       
   114     <span class="nx">RE_INLINE_SOURCE</span> <span class="o">=</span> <span class="sr">/^(\S+)\s/</span><span class="o">,</span>
       
   115     <span class="nx">RE_AMP</span> <span class="o">=</span> <span class="sr">/&amp;/g</span><span class="o">,</span>
       
   116     <span class="nx">RE_GT</span>  <span class="o">=</span> <span class="sr">/&gt;/g</span><span class="o">,</span>
       
   117     <span class="nx">RE_LT</span>  <span class="o">=</span> <span class="sr">/&lt;/g</span><span class="o">,</span>
       
   118 
       
   119     <span class="nx">ESC_AMP</span> <span class="o">=</span> <span class="s1">&#39;&amp;#38;&#39;</span><span class="o">,</span>
       
   120     <span class="nx">ESC_GT</span>  <span class="o">=</span> <span class="s1">&#39;&amp;#62;&#39;</span><span class="o">,</span>
       
   121     <span class="nx">ESC_LT</span>  <span class="o">=</span> <span class="s1">&#39;&amp;#60;&#39;</span><span class="o">,</span>
       
   122     
       
   123     <span class="nx">ENTRY_TEMPLATE_STR</span> <span class="o">=</span>
       
   124         <span class="s1">&#39;&lt;div class=&quot;{entry_class} {cat_class} {src_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   125             <span class="s1">&#39;&lt;p class=&quot;{entry_meta_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   126                 <span class="s1">&#39;&lt;span class=&quot;{entry_src_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   127                     <span class="s1">&#39;{sourceAndDetail}&#39;</span><span class="o">+</span>
       
   128                 <span class="s1">&#39;&lt;/span&gt;&#39;</span><span class="o">+</span>
       
   129                 <span class="s1">&#39;&lt;span class=&quot;{entry_cat_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   130                     <span class="s1">&#39;{category}&lt;/span&gt;&#39;</span><span class="o">+</span>
       
   131                 <span class="s1">&#39;&lt;span class=&quot;{entry_time_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   132                     <span class="s1">&#39; {totalTime}ms (+{elapsedTime}) {localTime}&#39;</span><span class="o">+</span>
       
   133                 <span class="s1">&#39;&lt;/span&gt;&#39;</span><span class="o">+</span>
       
   134             <span class="s1">&#39;&lt;/p&gt;&#39;</span><span class="o">+</span>
       
   135             <span class="s1">&#39;&lt;pre class=&quot;{entry_content_class}&quot;&gt;{message}&lt;/pre&gt;&#39;</span><span class="o">+</span>
       
   136         <span class="s1">&#39;&lt;/div&gt;&#39;</span><span class="o">,</span>
       
   137 
       
   138     <span class="nx">L</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">,</span>
       
   139     <span class="nx">create</span>     <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Node</span><span class="o">.</span><span class="nx">create</span><span class="o">,</span>
       
   140     <span class="nx">isNumber</span>   <span class="o">=</span> <span class="nx">L</span><span class="o">.</span><span class="nx">isNumber</span><span class="o">,</span>
       
   141     <span class="nx">isString</span>   <span class="o">=</span> <span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">,</span>
       
   142     <span class="nx">merge</span>      <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">,</span>
       
   143     <span class="nx">substitute</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">substitute</span><span class="o">;</span>
       
   144     
       
   145 
       
   146 <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">Console</span><span class="o">,</span> <span class="o">{</span>
       
   147 
       
   148     <span class="c">/**</span>
       
   149 <span class="c">     * The identity of the widget.</span>
       
   150 <span class="c">     *</span>
       
   151 <span class="c">     * @property Console.NAME</span>
       
   152 <span class="c">     * @type String</span>
       
   153 <span class="c">     * @static</span>
       
   154 <span class="c">     */</span>
       
   155     <span class="nx">NAME</span> <span class="o">:</span> <span class="nx">CONSOLE</span><span class="o">,</span>
       
   156 
       
   157     <span class="c">/**</span>
       
   158 <span class="c">     * Static identifier for logLevel configuration setting to allow all</span>
       
   159 <span class="c">     * incoming messages to generate Console entries.</span>
       
   160 <span class="c">     *</span>
       
   161 <span class="c">     * @property Console.LOG_LEVEL_INFO</span>
       
   162 <span class="c">     * @type String</span>
       
   163 <span class="c">     * @static</span>
       
   164 <span class="c">     */</span>
       
   165     <span class="nx">LOG_LEVEL_INFO</span>  <span class="o">:</span> <span class="nx">INFO</span><span class="o">,</span>
       
   166 
       
   167     <span class="c">/**</span>
       
   168 <span class="c">     * Static identifier for logLevel configuration setting to allow only</span>
       
   169 <span class="c">     * incoming messages of logLevel &amp;quot;warn&amp;quot; or &amp;quot;error&amp;quot;</span>
       
   170 <span class="c">     * to generate Console entries.</span>
       
   171 <span class="c">     *</span>
       
   172 <span class="c">     * @property Console.LOG_LEVEL_WARN</span>
       
   173 <span class="c">     * @type String</span>
       
   174 <span class="c">     * @static</span>
       
   175 <span class="c">     */</span>
       
   176     <span class="nx">LOG_LEVEL_WARN</span>  <span class="o">:</span> <span class="nx">WARN</span><span class="o">,</span>
       
   177 
       
   178     <span class="c">/**</span>
       
   179 <span class="c">     * Static identifier for logLevel configuration setting to allow only</span>
       
   180 <span class="c">     * incoming messages of logLevel &amp;quot;error&amp;quot; to generate</span>
       
   181 <span class="c">     * Console entries.</span>
       
   182 <span class="c">     *</span>
       
   183 <span class="c">     * @property Console.LOG_LEVEL_ERROR</span>
       
   184 <span class="c">     * @type String</span>
       
   185 <span class="c">     * @static</span>
       
   186 <span class="c">     */</span>
       
   187     <span class="nx">LOG_LEVEL_ERROR</span> <span class="o">:</span> <span class="nx">ERROR</span><span class="o">,</span>
       
   188 
       
   189     <span class="c">/**</span>
       
   190 <span class="c">     * Map (object) of classNames used to populate the placeholders in the</span>
       
   191 <span class="c">     * Console.ENTRY_TEMPLATE markup when rendering a new Console entry.</span>
       
   192 <span class="c">     *</span>
       
   193 <span class="c">     * &lt;p&gt;By default, the keys contained in the object are:&lt;/p&gt;</span>
       
   194 <span class="c">     * &lt;ul&gt;</span>
       
   195 <span class="c">     *    &lt;li&gt;entry_class&lt;/li&gt;</span>
       
   196 <span class="c">     *    &lt;li&gt;entry_meta_class&lt;/li&gt;</span>
       
   197 <span class="c">     *    &lt;li&gt;entry_cat_class&lt;/li&gt;</span>
       
   198 <span class="c">     *    &lt;li&gt;entry_src_class&lt;/li&gt;</span>
       
   199 <span class="c">     *    &lt;li&gt;entry_time_class&lt;/li&gt;</span>
       
   200 <span class="c">     *    &lt;li&gt;entry_content_class&lt;/li&gt;</span>
       
   201 <span class="c">     * &lt;/ul&gt;</span>
       
   202 <span class="c">     *</span>
       
   203 <span class="c">     * @property Console.ENTRY_CLASSES</span>
       
   204 <span class="c">     * @type Object</span>
       
   205 <span class="c">     * @static</span>
       
   206 <span class="c">     */</span>
       
   207     <span class="nx">ENTRY_CLASSES</span>   <span class="o">:</span> <span class="o">{</span>
       
   208         <span class="nx">entry_class</span>         <span class="o">:</span> <span class="nx">C_ENTRY</span><span class="o">,</span>
       
   209         <span class="nx">entry_meta_class</span>    <span class="o">:</span> <span class="nx">C_ENTRY_META</span><span class="o">,</span>
       
   210         <span class="nx">entry_cat_class</span>     <span class="o">:</span> <span class="nx">C_ENTRY_CAT</span><span class="o">,</span>
       
   211         <span class="nx">entry_src_class</span>     <span class="o">:</span> <span class="nx">C_ENTRY_SRC</span><span class="o">,</span>
       
   212         <span class="nx">entry_time_class</span>    <span class="o">:</span> <span class="nx">C_ENTRY_TIME</span><span class="o">,</span>
       
   213         <span class="nx">entry_content_class</span> <span class="o">:</span> <span class="nx">C_ENTRY_CONTENT</span>
       
   214     <span class="o">},</span>
       
   215 
       
   216     <span class="c">/**</span>
       
   217 <span class="c">     * Map (object) of classNames used to populate the placeholders in the</span>
       
   218 <span class="c">     * Console.HEADER_TEMPLATE, Console.BODY_TEMPLATE, and</span>
       
   219 <span class="c">     * Console.FOOTER_TEMPLATE markup when rendering the Console UI.</span>
       
   220 <span class="c">     *</span>
       
   221 <span class="c">     * &lt;p&gt;By default, the keys contained in the object are:&lt;/p&gt;</span>
       
   222 <span class="c">     * &lt;ul&gt;</span>
       
   223 <span class="c">     *   &lt;li&gt;console_hd_class&lt;/li&gt;</span>
       
   224 <span class="c">     *   &lt;li&gt;console_bd_class&lt;/li&gt;</span>
       
   225 <span class="c">     *   &lt;li&gt;console_ft_class&lt;/li&gt;</span>
       
   226 <span class="c">     *   &lt;li&gt;console_controls_class&lt;/li&gt;</span>
       
   227 <span class="c">     *   &lt;li&gt;console_checkbox_class&lt;/li&gt;</span>
       
   228 <span class="c">     *   &lt;li&gt;console_pause_class&lt;/li&gt;</span>
       
   229 <span class="c">     *   &lt;li&gt;console_pause_label_class&lt;/li&gt;</span>
       
   230 <span class="c">     *   &lt;li&gt;console_button_class&lt;/li&gt;</span>
       
   231 <span class="c">     *   &lt;li&gt;console_clear_class&lt;/li&gt;</span>
       
   232 <span class="c">     *   &lt;li&gt;console_collapse_class&lt;/li&gt;</span>
       
   233 <span class="c">     *   &lt;li&gt;console_title_class&lt;/li&gt;</span>
       
   234 <span class="c">     * &lt;/ul&gt;</span>
       
   235 <span class="c">     *</span>
       
   236 <span class="c">     * @property Console.CHROME_CLASSES</span>
       
   237 <span class="c">     * @type Object</span>
       
   238 <span class="c">     * @static</span>
       
   239 <span class="c">     */</span>
       
   240     <span class="nx">CHROME_CLASSES</span>  <span class="o">:</span> <span class="o">{</span>
       
   241         <span class="nx">console_hd_class</span>       <span class="o">:</span> <span class="nx">C_CONSOLE_HD</span><span class="o">,</span>
       
   242         <span class="nx">console_bd_class</span>       <span class="o">:</span> <span class="nx">C_CONSOLE_BD</span><span class="o">,</span>
       
   243         <span class="nx">console_ft_class</span>       <span class="o">:</span> <span class="nx">C_CONSOLE_FT</span><span class="o">,</span>
       
   244         <span class="nx">console_controls_class</span> <span class="o">:</span> <span class="nx">C_CONSOLE_CONTROLS</span><span class="o">,</span>
       
   245         <span class="nx">console_checkbox_class</span> <span class="o">:</span> <span class="nx">C_CHECKBOX</span><span class="o">,</span>
       
   246         <span class="nx">console_pause_class</span>    <span class="o">:</span> <span class="nx">C_PAUSE</span><span class="o">,</span>
       
   247         <span class="nx">console_pause_label_class</span> <span class="o">:</span> <span class="nx">C_PAUSE_LABEL</span><span class="o">,</span>
       
   248         <span class="nx">console_button_class</span>   <span class="o">:</span> <span class="nx">C_BUTTON</span><span class="o">,</span>
       
   249         <span class="nx">console_clear_class</span>    <span class="o">:</span> <span class="nx">C_CLEAR</span><span class="o">,</span>
       
   250         <span class="nx">console_collapse_class</span> <span class="o">:</span> <span class="nx">C_COLLAPSE</span><span class="o">,</span>
       
   251         <span class="nx">console_title_class</span>    <span class="o">:</span> <span class="nx">C_CONSOLE_TITLE</span>
       
   252     <span class="o">},</span>
       
   253 
       
   254     <span class="c">/**</span>
       
   255 <span class="c">     * Markup template used to generate the DOM structure for the header</span>
       
   256 <span class="c">     * section of the Console when it is rendered.  The template includes</span>
       
   257 <span class="c">     * these {placeholder}s:</span>
       
   258 <span class="c">     *</span>
       
   259 <span class="c">     * &lt;ul&gt;</span>
       
   260 <span class="c">     *   &lt;li&gt;console_button_class - contributed by Console.CHROME_CLASSES&lt;/li&gt;</span>
       
   261 <span class="c">     *   &lt;li&gt;console_collapse_class - contributed by Console.CHROME_CLASSES&lt;/li&gt;</span>
       
   262 <span class="c">     *   &lt;li&gt;console_hd_class - contributed by Console.CHROME_CLASSES&lt;/li&gt;</span>
       
   263 <span class="c">     *   &lt;li&gt;console_title_class - contributed by Console.CHROME_CLASSES&lt;/li&gt;</span>
       
   264 <span class="c">     *   &lt;li&gt;str_collapse - pulled from attribute strings.collapse&lt;/li&gt;</span>
       
   265 <span class="c">     *   &lt;li&gt;str_title - pulled from attribute strings.title&lt;/li&gt;</span>
       
   266 <span class="c">     * &lt;/ul&gt;</span>
       
   267 <span class="c">     *</span>
       
   268 <span class="c">     * @property Console.HEADER_TEMPLATE</span>
       
   269 <span class="c">     * @type String</span>
       
   270 <span class="c">     * @static</span>
       
   271 <span class="c">     */</span>
       
   272     <span class="nx">HEADER_TEMPLATE</span> <span class="o">:</span>
       
   273         <span class="s1">&#39;&lt;div class=&quot;{console_hd_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   274             <span class="s1">&#39;&lt;h4 class=&quot;{console_title_class}&quot;&gt;{str_title}&lt;/h4&gt;&#39;</span><span class="o">+</span>
       
   275             <span class="s1">&#39;&lt;button type=&quot;button&quot; class=&quot;&#39;</span><span class="o">+</span>
       
   276                 <span class="s1">&#39;{console_button_class} {console_collapse_class}&quot;&gt;{str_collapse}&#39;</span><span class="o">+</span>
       
   277             <span class="s1">&#39;&lt;/button&gt;&#39;</span><span class="o">+</span>
       
   278         <span class="s1">&#39;&lt;/div&gt;&#39;</span><span class="o">,</span>
       
   279 
       
   280     <span class="c">/**</span>
       
   281 <span class="c">     * Markup template used to generate the DOM structure for the Console body</span>
       
   282 <span class="c">     * (where the messages are inserted) when it is rendered.  The template</span>
       
   283 <span class="c">     * includes only the {placeholder} &amp;quot;console_bd_class&amp;quot;, which is</span>
       
   284 <span class="c">     * constributed by Console.CHROME_CLASSES.</span>
       
   285 <span class="c">     *</span>
       
   286 <span class="c">     * @property Console.BODY_TEMPLATE</span>
       
   287 <span class="c">     * @type String</span>
       
   288 <span class="c">     * @static</span>
       
   289 <span class="c">     */</span>
       
   290     <span class="nx">BODY_TEMPLATE</span> <span class="o">:</span> <span class="s1">&#39;&lt;div class=&quot;{console_bd_class}&quot;&gt;&lt;/div&gt;&#39;</span><span class="o">,</span>
       
   291 
       
   292     <span class="c">/**</span>
       
   293 <span class="c">     * Markup template used to generate the DOM structure for the footer</span>
       
   294 <span class="c">     * section of the Console when it is rendered.  The template includes</span>
       
   295 <span class="c">     * many of the {placeholder}s from Console.CHROME_CLASSES as well as:</span>
       
   296 <span class="c">     *</span>
       
   297 <span class="c">     * &lt;ul&gt;</span>
       
   298 <span class="c">     *   &lt;li&gt;id_guid - generated unique id, relates the label and checkbox&lt;/li&gt;</span>
       
   299 <span class="c">     *   &lt;li&gt;str_pause - pulled from attribute strings.pause&lt;/li&gt;</span>
       
   300 <span class="c">     *   &lt;li&gt;str_clear - pulled from attribute strings.clear&lt;/li&gt;</span>
       
   301 <span class="c">     * &lt;/ul&gt;</span>
       
   302 <span class="c">     *</span>
       
   303 <span class="c">     * @property Console.FOOTER_TEMPLATE</span>
       
   304 <span class="c">     * @type String</span>
       
   305 <span class="c">     * @static</span>
       
   306 <span class="c">     */</span>
       
   307     <span class="nx">FOOTER_TEMPLATE</span> <span class="o">:</span>
       
   308         <span class="s1">&#39;&lt;div class=&quot;{console_ft_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   309             <span class="s1">&#39;&lt;div class=&quot;{console_controls_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   310                 <span class="s1">&#39;&lt;label for=&quot;{id_guid}&quot; class=&quot;{console_pause_label_class}&quot;&gt;&#39;</span><span class="o">+</span>
       
   311                     <span class="s1">&#39;&lt;input type=&quot;checkbox&quot; class=&quot;{console_checkbox_class} &#39;</span><span class="o">+</span>
       
   312                         <span class="s1">&#39;{console_pause_class}&quot; value=&quot;1&quot; id=&quot;{id_guid}&quot;&gt; &#39;</span><span class="o">+</span>
       
   313                     <span class="s1">&#39;{str_pause}&lt;/label&gt;&#39;</span> <span class="o">+</span>
       
   314                 <span class="s1">&#39;&lt;button type=&quot;button&quot; class=&quot;&#39;</span><span class="o">+</span>
       
   315                     <span class="s1">&#39;{console_button_class} {console_clear_class}&quot;&gt;{str_clear}&#39;</span><span class="o">+</span>
       
   316                 <span class="s1">&#39;&lt;/button&gt;&#39;</span><span class="o">+</span>
       
   317             <span class="s1">&#39;&lt;/div&gt;&#39;</span><span class="o">+</span>
       
   318         <span class="s1">&#39;&lt;/div&gt;&#39;</span><span class="o">,</span>
       
   319 
       
   320     <span class="c">/**</span>
       
   321 <span class="c">     * Default markup template used to create the DOM structure for Console</span>
       
   322 <span class="c">     * entries. The markup contains {placeholder}s for content and classes</span>
       
   323 <span class="c">     * that are replaced via Y.substitute.  The default template contains</span>
       
   324 <span class="c">     * the {placeholder}s identified in Console.ENTRY_CLASSES as well as the</span>
       
   325 <span class="c">     * following placeholders that will be populated by the log entry data:</span>
       
   326 <span class="c">     *</span>
       
   327 <span class="c">     * &lt;ul&gt;</span>
       
   328 <span class="c">     *   &lt;li&gt;cat_class&lt;/li&gt;</span>
       
   329 <span class="c">     *   &lt;li&gt;src_class&lt;/li&gt;</span>
       
   330 <span class="c">     *   &lt;li&gt;totalTime&lt;/li&gt;</span>
       
   331 <span class="c">     *   &lt;li&gt;elapsedTime&lt;/li&gt;</span>
       
   332 <span class="c">     *   &lt;li&gt;localTime&lt;/li&gt;</span>
       
   333 <span class="c">     *   &lt;li&gt;sourceAndDetail&lt;/li&gt;</span>
       
   334 <span class="c">     *   &lt;li&gt;message&lt;/li&gt;</span>
       
   335 <span class="c">     * &lt;/ul&gt;</span>
       
   336 <span class="c">     *</span>
       
   337 <span class="c">     * @property Console.ENTRY_TEMPLATE</span>
       
   338 <span class="c">     * @type String</span>
       
   339 <span class="c">     * @static</span>
       
   340 <span class="c">     */</span>
       
   341     <span class="nx">ENTRY_TEMPLATE</span> <span class="o">:</span> <span class="nx">ENTRY_TEMPLATE_STR</span><span class="o">,</span>
       
   342 
       
   343     <span class="c">/**</span>
       
   344 <span class="c">     * Static property used to define the default attribute configuration of</span>
       
   345 <span class="c">     * the Widget.</span>
       
   346 <span class="c">     *</span>
       
   347 <span class="c">     * @property Console.ATTRS</span>
       
   348 <span class="c">     * @Type Object</span>
       
   349 <span class="c">     * @static</span>
       
   350 <span class="c">     */</span>
       
   351     <span class="nx">ATTRS</span> <span class="o">:</span> <span class="o">{</span>
       
   352 
       
   353         <span class="c">/**</span>
       
   354 <span class="c">         * Name of the custom event that will communicate log messages.</span>
       
   355 <span class="c">         *</span>
       
   356 <span class="c">         * @attribute logEvent</span>
       
   357 <span class="c">         * @type String</span>
       
   358 <span class="c">         * @default &quot;yui:log&quot;</span>
       
   359 <span class="c">         */</span>
       
   360         <span class="nx">logEvent</span> <span class="o">:</span> <span class="o">{</span>
       
   361             <span class="nx">value</span> <span class="o">:</span> <span class="s1">&#39;yui:log&#39;</span><span class="o">,</span>
       
   362             <span class="nx">writeOnce</span> <span class="o">:</span> <span class="kc">true</span><span class="o">,</span>
       
   363             <span class="nx">validator</span> <span class="o">:</span> <span class="nx">isString</span>
       
   364         <span class="o">},</span>
       
   365 
       
   366         <span class="c">/**</span>
       
   367 <span class="c">         * Object that will emit the log events.  By default the YUI instance.</span>
       
   368 <span class="c">         * To have a single Console capture events from all YUI instances, set</span>
       
   369 <span class="c">         * this to the Y.Global object.</span>
       
   370 <span class="c">         *</span>
       
   371 <span class="c">         * @attribute logSource</span>
       
   372 <span class="c">         * @type EventTarget</span>
       
   373 <span class="c">         * @default Y</span>
       
   374 <span class="c">         */</span>
       
   375         <span class="nx">logSource</span> <span class="o">:</span> <span class="o">{</span>
       
   376             <span class="nx">value</span> <span class="o">:</span> <span class="nx">Y</span><span class="o">,</span>
       
   377             <span class="nx">writeOnce</span> <span class="o">:</span> <span class="kc">true</span><span class="o">,</span>
       
   378             <span class="nx">validator</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
   379                 <span class="k">return</span> <span class="nx">v</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">.</span><span class="nx">isFunction</span><span class="o">(</span><span class="nx">v</span><span class="o">.</span><span class="nx">on</span><span class="o">);</span>
       
   380             <span class="o">}</span>
       
   381         <span class="o">},</span>
       
   382 
       
   383         <span class="c">/**</span>
       
   384 <span class="c">         * Collection of strings used to label elements in the Console UI.</span>
       
   385 <span class="c">         * Default collection contains the following name:value pairs:</span>
       
   386 <span class="c">         *</span>
       
   387 <span class="c">         * &lt;ul&gt;</span>
       
   388 <span class="c">         *   &lt;li&gt;title : &amp;quot;Log Console&amp;quot;&lt;/li&gt;</span>
       
   389 <span class="c">         *   &lt;li&gt;pause : &amp;quot;Pause&amp;quot;&lt;/li&gt;</span>
       
   390 <span class="c">         *   &lt;li&gt;clear : &amp;quot;Clear&amp;quot;&lt;/li&gt;</span>
       
   391 <span class="c">         *   &lt;li&gt;collapse : &amp;quot;Collapse&amp;quot;&lt;/li&gt;</span>
       
   392 <span class="c">         *   &lt;li&gt;expand : &amp;quot;Expand&amp;quot;&lt;/li&gt;</span>
       
   393 <span class="c">         * &lt;/ul&gt;</span>
       
   394 <span class="c">         *</span>
       
   395 <span class="c">         * @attribute strings</span>
       
   396 <span class="c">         * @type Object</span>
       
   397 <span class="c">         */</span>
       
   398         <span class="nx">strings</span> <span class="o">:</span> <span class="o">{</span>
       
   399             <span class="nx">value</span> <span class="o">:</span> <span class="o">{</span>
       
   400                 <span class="nx">title</span> <span class="o">:</span> <span class="s2">&quot;Log Console&quot;</span><span class="o">,</span>
       
   401                 <span class="nx">pause</span> <span class="o">:</span> <span class="s2">&quot;Pause&quot;</span><span class="o">,</span>
       
   402                 <span class="nx">clear</span> <span class="o">:</span> <span class="s2">&quot;Clear&quot;</span><span class="o">,</span>
       
   403                 <span class="nx">collapse</span> <span class="o">:</span> <span class="s2">&quot;Collapse&quot;</span><span class="o">,</span>
       
   404                 <span class="nx">expand</span>   <span class="o">:</span> <span class="s2">&quot;Expand&quot;</span>
       
   405             <span class="o">}</span>
       
   406         <span class="o">},</span>
       
   407 
       
   408         <span class="c">/**</span>
       
   409 <span class="c">         * Boolean to pause the outputting of new messages to the console.</span>
       
   410 <span class="c">         * When paused, messages will accumulate in the buffer.</span>
       
   411 <span class="c">         *</span>
       
   412 <span class="c">         * @attribute paused</span>
       
   413 <span class="c">         * @type boolean</span>
       
   414 <span class="c">         * @default false</span>
       
   415 <span class="c">         */</span>
       
   416         <span class="nx">paused</span> <span class="o">:</span> <span class="o">{</span>
       
   417             <span class="nx">value</span> <span class="o">:</span> <span class="kc">false</span><span class="o">,</span>
       
   418             <span class="nx">validator</span> <span class="o">:</span> <span class="nx">L</span><span class="o">.</span><span class="nx">isBoolean</span>
       
   419         <span class="o">},</span>
       
   420 
       
   421         <span class="c">/**</span>
       
   422 <span class="c">         * If a category is not specified in the Y.log(..) statement, this</span>
       
   423 <span class="c">         * category will be used. Categories &amp;quot;info&amp;quot;,</span>
       
   424 <span class="c">         * &amp;quot;warn&amp;quot;, and &amp;quot;error&amp;quot; are also called log level.</span>
       
   425 <span class="c">         *</span>
       
   426 <span class="c">         * @attribute defaultCategory</span>
       
   427 <span class="c">         * @type String</span>
       
   428 <span class="c">         * @default &quot;info&quot;</span>
       
   429 <span class="c">         */</span>
       
   430         <span class="nx">defaultCategory</span> <span class="o">:</span> <span class="o">{</span>
       
   431             <span class="nx">value</span> <span class="o">:</span> <span class="nx">INFO</span><span class="o">,</span>
       
   432             <span class="nx">validator</span> <span class="o">:</span> <span class="nx">isString</span>
       
   433         <span class="o">},</span>
       
   434 
       
   435         <span class="c">/**</span>
       
   436 <span class="c">         * If a source is not specified in the Y.log(..) statement, this</span>
       
   437 <span class="c">         * source will be used.</span>
       
   438 <span class="c">         *</span>
       
   439 <span class="c">         * @attribute defaultSource</span>
       
   440 <span class="c">         * @type String</span>
       
   441 <span class="c">         * @default &quot;global&quot;</span>
       
   442 <span class="c">         */</span>
       
   443         <span class="nx">defaultSource</span>   <span class="o">:</span> <span class="o">{</span>
       
   444             <span class="nx">value</span> <span class="o">:</span> <span class="s1">&#39;global&#39;</span><span class="o">,</span>
       
   445             <span class="nx">validator</span> <span class="o">:</span> <span class="nx">isString</span>
       
   446         <span class="o">},</span>
       
   447 
       
   448         <span class="c">/**</span>
       
   449 <span class="c">         * Markup template used to create the DOM structure for Console entries.</span>
       
   450 <span class="c">         *</span>
       
   451 <span class="c">         * @attribute entryTemplate</span>
       
   452 <span class="c">         * @type String</span>
       
   453 <span class="c">         * @default Console.ENTRY_TEMPLATE</span>
       
   454 <span class="c">         */</span>
       
   455         <span class="nx">entryTemplate</span> <span class="o">:</span> <span class="o">{</span>
       
   456             <span class="nx">value</span> <span class="o">:</span> <span class="nx">ENTRY_TEMPLATE_STR</span><span class="o">,</span>
       
   457             <span class="nx">validator</span> <span class="o">:</span> <span class="nx">isString</span>
       
   458         <span class="o">},</span>
       
   459 
       
   460         <span class="c">/**</span>
       
   461 <span class="c">         * Minimum entry log level to render into the Console.  The initial</span>
       
   462 <span class="c">         * logLevel value for all Console instances defaults from the</span>
       
   463 <span class="c">         * Y.config.logLevel YUI configuration, or Console.LOG_LEVEL_INFO if</span>
       
   464 <span class="c">         * that configuration is not set.</span>
       
   465 <span class="c">         *</span>
       
   466 <span class="c">         * Possible values are &amp;quot;info&amp;quot;, &amp;quot;warn&amp;quot;,</span>
       
   467 <span class="c">         * &amp;quot;error&amp;quot; (case insensitive), or their corresponding statics</span>
       
   468 <span class="c">         * Console.LOG_LEVEL_INFO and so on.</span>
       
   469 <span class="c">         *</span>
       
   470 <span class="c">         * @attribute logLevel</span>
       
   471 <span class="c">         * @type String</span>
       
   472 <span class="c">         * @default Y.config.logLevel or Console.LOG_LEVEL_INFO</span>
       
   473 <span class="c">         */</span>
       
   474         <span class="nx">logLevel</span> <span class="o">:</span> <span class="o">{</span>
       
   475             <span class="nx">value</span> <span class="o">:</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">logLevel</span> <span class="o">||</span> <span class="nx">INFO</span><span class="o">,</span>
       
   476             <span class="nx">setter</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
   477                 <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_setLogLevel</span><span class="o">(</span><span class="nx">v</span><span class="o">);</span>
       
   478             <span class="o">}</span>
       
   479         <span class="o">},</span>
       
   480 
       
   481         <span class="c">/**</span>
       
   482 <span class="c">         * Millisecond timeout between iterations of the print loop, moving</span>
       
   483 <span class="c">         * entries from the buffer to the UI.</span>
       
   484 <span class="c">         *</span>
       
   485 <span class="c">         * @attribute printTimeout</span>
       
   486 <span class="c">         * @type Number</span>
       
   487 <span class="c">         * @default 100</span>
       
   488 <span class="c">         */</span>
       
   489         <span class="nx">printTimeout</span> <span class="o">:</span> <span class="o">{</span>
       
   490             <span class="nx">value</span> <span class="o">:</span> <span class="m">100</span><span class="o">,</span>
       
   491             <span class="nx">validator</span> <span class="o">:</span> <span class="nx">isNumber</span>
       
   492         <span class="o">},</span>
       
   493 
       
   494         <span class="c">/**</span>
       
   495 <span class="c">         * Maximum number of entries printed in each iteration of the print</span>
       
   496 <span class="c">         * loop. This is used to prevent excessive logging locking the page UI.</span>
       
   497 <span class="c">         *</span>
       
   498 <span class="c">         * @attribute printLimit</span>
       
   499 <span class="c">         * @type Number</span>
       
   500 <span class="c">         * @default 50</span>
       
   501 <span class="c">         */</span>
       
   502         <span class="nx">printLimit</span> <span class="o">:</span> <span class="o">{</span>
       
   503             <span class="nx">value</span> <span class="o">:</span> <span class="m">50</span><span class="o">,</span>
       
   504             <span class="nx">validator</span> <span class="o">:</span> <span class="nx">isNumber</span>
       
   505         <span class="o">},</span>
       
   506 
       
   507         <span class="c">/**</span>
       
   508 <span class="c">         * Maximum number of Console entries allowed in the Console body at one</span>
       
   509 <span class="c">         * time.  This is used to keep acquired messages from exploding the</span>
       
   510 <span class="c">         * DOM tree and impacting page performance.</span>
       
   511 <span class="c">         *</span>
       
   512 <span class="c">         * @attribute consoleLimit</span>
       
   513 <span class="c">         * @type Number</span>
       
   514 <span class="c">         * @default 300</span>
       
   515 <span class="c">         */</span>
       
   516         <span class="nx">consoleLimit</span> <span class="o">:</span> <span class="o">{</span>
       
   517             <span class="nx">value</span> <span class="o">:</span> <span class="m">300</span><span class="o">,</span>
       
   518             <span class="nx">validator</span> <span class="o">:</span> <span class="nx">isNumber</span>
       
   519         <span class="o">},</span>
       
   520 
       
   521         <span class="c">/**</span>
       
   522 <span class="c">         * New entries should display at the top of the Console or the bottom?</span>
       
   523 <span class="c">         *</span>
       
   524 <span class="c">         * @attribute newestOnTop</span>
       
   525 <span class="c">         * @type Boolean</span>
       
   526 <span class="c">         * @default true</span>
       
   527 <span class="c">         */</span>
       
   528         <span class="nx">newestOnTop</span> <span class="o">:</span> <span class="o">{</span>
       
   529             <span class="nx">value</span> <span class="o">:</span> <span class="kc">true</span>
       
   530         <span class="o">},</span>
       
   531 
       
   532         <span class="c">/**</span>
       
   533 <span class="c">         * When new entries are added to the Console UI, should they be</span>
       
   534 <span class="c">         * scrolled into view?</span>
       
   535 <span class="c">         *</span>
       
   536 <span class="c">         * @attribute scrollIntoView</span>
       
   537 <span class="c">         * @type Boolean</span>
       
   538 <span class="c">         * @default true</span>
       
   539 <span class="c">         */</span>
       
   540         <span class="nx">scrollIntoView</span> <span class="o">:</span> <span class="o">{</span>
       
   541             <span class="nx">value</span> <span class="o">:</span> <span class="kc">true</span>
       
   542         <span class="o">},</span>
       
   543 
       
   544         <span class="c">/**</span>
       
   545 <span class="c">         * The baseline time for this Console instance, used to measure elapsed</span>
       
   546 <span class="c">         * time from the moment the console module is &lt;code&gt;use&lt;/code&gt;d to the</span>
       
   547 <span class="c">         * moment each new entry is logged (not rendered).</span>
       
   548 <span class="c">         *</span>
       
   549 <span class="c">         * This value is reset by the instance method myConsole.reset().</span>
       
   550 <span class="c">         *</span>
       
   551 <span class="c">         * @attribute startTime</span>
       
   552 <span class="c">         * @type Date</span>
       
   553 <span class="c">         * @default The moment the console module is &lt;code&gt;use&lt;/code&gt;d</span>
       
   554 <span class="c">         */</span>
       
   555         <span class="nx">startTime</span> <span class="o">:</span> <span class="o">{</span>
       
   556             <span class="nx">value</span> <span class="o">:</span> <span class="k">new</span> <span class="nb">Date</span><span class="o">()</span>
       
   557         <span class="o">},</span>
       
   558 
       
   559         <span class="c">/**</span>
       
   560 <span class="c">         * The precise time the last entry was logged.  Used to measure elapsed</span>
       
   561 <span class="c">         * time between log messages.</span>
       
   562 <span class="c">         *</span>
       
   563 <span class="c">         * @attribute lastTime</span>
       
   564 <span class="c">         * @type Date</span>
       
   565 <span class="c">         * @default The moment the console module is &lt;code&gt;use&lt;/code&gt;d</span>
       
   566 <span class="c">         */</span>
       
   567         <span class="nx">lastTime</span> <span class="o">:</span> <span class="o">{</span>
       
   568             <span class="nx">value</span> <span class="o">:</span> <span class="k">new</span> <span class="nb">Date</span><span class="o">(),</span>
       
   569             <span class="nx">readOnly</span><span class="o">:</span> <span class="kc">true</span>
       
   570         <span class="o">},</span>
       
   571 
       
   572         <span class="c">/**</span>
       
   573 <span class="c">         * Controls the collapsed state of the Console</span>
       
   574 <span class="c">         *</span>
       
   575 <span class="c">         * @attribute collapsed</span>
       
   576 <span class="c">         * @type Boolean</span>
       
   577 <span class="c">         * @default false</span>
       
   578 <span class="c">         */</span>
       
   579         <span class="nx">collapsed</span> <span class="o">:</span> <span class="o">{</span>
       
   580             <span class="nx">value</span> <span class="o">:</span> <span class="kc">false</span>
       
   581         <span class="o">},</span>
       
   582 
       
   583         <span class="c">/**</span>
       
   584 <span class="c">        * String with units, or number, representing the height of the Console,</span>
       
   585 <span class="c">        * inclusive of header and footer. If a number is provided, the default</span>
       
   586 <span class="c">        * unit, defined by Widget&#39;s DEF_UNIT, property is used.</span>
       
   587 <span class="c">        *</span>
       
   588 <span class="c">        * @attribute height</span>
       
   589 <span class="c">        * @default &quot;300px&quot;</span>
       
   590 <span class="c">        * @type {String | Number}</span>
       
   591 <span class="c">        */</span>
       
   592         <span class="nx">height</span><span class="o">:</span> <span class="o">{</span>
       
   593             <span class="nx">value</span><span class="o">:</span> <span class="s2">&quot;300px&quot;</span>
       
   594         <span class="o">},</span>
       
   595 
       
   596         <span class="c">/**</span>
       
   597 <span class="c">        * String with units, or number, representing the width of the Console.</span>
       
   598 <span class="c">        * If a number is provided, the default unit, defined by Widget&#39;s</span>
       
   599 <span class="c">        * DEF_UNIT, property is used.</span>
       
   600 <span class="c">        *</span>
       
   601 <span class="c">        * @attribute width</span>
       
   602 <span class="c">        * @default &quot;300px&quot;</span>
       
   603 <span class="c">        * @type {String | Number}</span>
       
   604 <span class="c">        */</span>
       
   605         <span class="nx">width</span><span class="o">:</span> <span class="o">{</span>
       
   606             <span class="nx">value</span><span class="o">:</span> <span class="s2">&quot;300px&quot;</span>
       
   607         <span class="o">},</span>
       
   608 
       
   609         <span class="c">/**</span>
       
   610 <span class="c">         * Pass through to the YUI instance useBrowserConsole configuration.</span>
       
   611 <span class="c">         * By default this is set to false, which will disable logging to the</span>
       
   612 <span class="c">         * browser console when a Console instance is created.  If the</span>
       
   613 <span class="c">         * logSource is not a YUI instance, this has no effect.</span>
       
   614 <span class="c">         * </span>
       
   615 <span class="c">         * @attribute useBrowserConsole</span>
       
   616 <span class="c">         * @type {Boolean}</span>
       
   617 <span class="c">         * @default false</span>
       
   618 <span class="c">         */</span>
       
   619          <span class="nx">useBrowserConsole</span> <span class="o">:</span> <span class="o">{</span>
       
   620             <span class="nx">lazyAdd</span><span class="o">:</span> <span class="kc">false</span><span class="o">,</span>
       
   621             <span class="nx">value</span><span class="o">:</span> <span class="kc">false</span><span class="o">,</span>
       
   622             <span class="nx">getter</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   623                 <span class="k">var</span> <span class="nx">logSource</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;logSource&#39;</span><span class="o">);</span>
       
   624                 <span class="k">return</span> <span class="nx">logSource</span> <span class="k">instanceof</span> <span class="nx">YUI</span> <span class="o">?</span>
       
   625                     <span class="nx">logSource</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">useBrowserConsole</span> <span class="o">:</span> <span class="kc">null</span><span class="o">;</span>
       
   626             <span class="o">},</span>
       
   627             <span class="nx">setter</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
   628                 <span class="k">var</span> <span class="nx">logSource</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;logSource&#39;</span><span class="o">);</span>
       
   629                 <span class="k">if</span> <span class="o">(</span><span class="nx">logSource</span> <span class="k">instanceof</span> <span class="nx">YUI</span><span class="o">)</span> <span class="o">{</span>
       
   630                     <span class="nx">v</span> <span class="o">=</span> <span class="o">!!</span><span class="nx">v</span><span class="o">;</span>
       
   631                     <span class="nx">logSource</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">useBrowserConsole</span> <span class="o">=</span> <span class="o">!!</span><span class="nx">v</span><span class="o">;</span>
       
   632                     <span class="k">return</span> <span class="nx">v</span><span class="o">;</span>
       
   633                 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
   634                     <span class="k">return</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Attribute</span><span class="o">.</span><span class="nx">INVALID_VALUE</span><span class="o">;</span>
       
   635                 <span class="o">}</span>
       
   636             <span class="o">}</span>
       
   637          <span class="o">},</span>
       
   638 
       
   639          <span class="c">/**</span>
       
   640 <span class="c">          * Allows the Console to flow in the document.  Available values are</span>
       
   641 <span class="c">          * &#39;inline&#39;, &#39;block&#39;, and &#39;separate&#39; (the default).  </span>
       
   642 <span class="c">          *</span>
       
   643 <span class="c">          * @attribute style</span>
       
   644 <span class="c">          * @type {String}</span>
       
   645 <span class="c">          * @default &#39;separate&#39;</span>
       
   646 <span class="c">          */</span>
       
   647          <span class="nx">style</span> <span class="o">:</span> <span class="o">{</span>
       
   648             <span class="nx">value</span> <span class="o">:</span> <span class="s1">&#39;separate&#39;</span><span class="o">,</span>
       
   649             <span class="nx">writeOnce</span> <span class="o">:</span> <span class="kc">true</span><span class="o">,</span>
       
   650             <span class="nx">validator</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
   651                 <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_validateStyle</span><span class="o">(</span><span class="nx">v</span><span class="o">);</span>
       
   652             <span class="o">}</span>
       
   653          <span class="o">}</span>
       
   654     <span class="o">}</span>
       
   655 
       
   656 <span class="o">});</span>
       
   657 
       
   658 <span class="nx">Y</span><span class="o">.</span><span class="nx">extend</span><span class="o">(</span><span class="nx">Console</span><span class="o">,</span><span class="nx">Y</span><span class="o">.</span><span class="nx">Widget</span><span class="o">,{</span>
       
   659 
       
   660     <span class="c">/**</span>
       
   661 <span class="c">     * Category to prefix all event subscriptions to allow for ease of detach</span>
       
   662 <span class="c">     * during destroy.</span>
       
   663 <span class="c">     *</span>
       
   664 <span class="c">     * @property _evtCat</span>
       
   665 <span class="c">     * @type string</span>
       
   666 <span class="c">     * @protected</span>
       
   667 <span class="c">     */</span>
       
   668     <span class="nx">_evtCat</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   669 
       
   670     <span class="c">/**</span>
       
   671 <span class="c">     * Reference to the Node instance containing the header contents.</span>
       
   672 <span class="c">     *</span>
       
   673 <span class="c">     * @property _head</span>
       
   674 <span class="c">     * @type Node</span>
       
   675 <span class="c">     * @default null</span>
       
   676 <span class="c">     * @protected</span>
       
   677 <span class="c">     */</span>
       
   678     <span class="nx">_head</span>    <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   679 
       
   680     <span class="c">/**</span>
       
   681 <span class="c">     * Reference to the Node instance that will house the console messages.</span>
       
   682 <span class="c">     *</span>
       
   683 <span class="c">     * @property _body</span>
       
   684 <span class="c">     * @type Node</span>
       
   685 <span class="c">     * @default null</span>
       
   686 <span class="c">     * @protected</span>
       
   687 <span class="c">     */</span>
       
   688     <span class="nx">_body</span>    <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   689 
       
   690     <span class="c">/**</span>
       
   691 <span class="c">     * Reference to the Node instance containing the footer contents.</span>
       
   692 <span class="c">     *</span>
       
   693 <span class="c">     * @property _foot</span>
       
   694 <span class="c">     * @type Node</span>
       
   695 <span class="c">     * @default null</span>
       
   696 <span class="c">     * @protected</span>
       
   697 <span class="c">     */</span>
       
   698     <span class="nx">_foot</span>    <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   699 
       
   700     <span class="c">/**</span>
       
   701 <span class="c">     * Holds the object API returned from &lt;code&gt;Y.later&lt;/code&gt; for the print</span>
       
   702 <span class="c">     * loop interval.</span>
       
   703 <span class="c">     *</span>
       
   704 <span class="c">     * @property _printLoop</span>
       
   705 <span class="c">     * @type Object</span>
       
   706 <span class="c">     * @default null</span>
       
   707 <span class="c">     * @protected</span>
       
   708 <span class="c">     */</span>
       
   709     <span class="nx">_printLoop</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   710 
       
   711     <span class="c">/**</span>
       
   712 <span class="c">     * Array of normalized message objects awaiting printing.</span>
       
   713 <span class="c">     *</span>
       
   714 <span class="c">     * @property buffer</span>
       
   715 <span class="c">     * @type Array</span>
       
   716 <span class="c">     * @default null</span>
       
   717 <span class="c">     * @protected</span>
       
   718 <span class="c">     */</span>
       
   719     <span class="nx">buffer</span>   <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   720 
       
   721     <span class="c">/**</span>
       
   722 <span class="c">     * Wrapper for &lt;code&gt;Y.log&lt;/code&gt;.</span>
       
   723 <span class="c">     *</span>
       
   724 <span class="c">     * @method log</span>
       
   725 <span class="c">     * @param arg* {MIXED} (all arguments passed through to &lt;code&gt;Y.log&lt;/code&gt;)</span>
       
   726 <span class="c">     * @chainable</span>
       
   727 <span class="c">     */</span>
       
   728     <span class="nx">log</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   729         <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">.</span><span class="nx">apply</span><span class="o">(</span><span class="nx">Y</span><span class="o">,</span><span class="nx">arguments</span><span class="o">);</span>
       
   730 
       
   731         <span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   732     <span class="o">},</span>
       
   733 
       
   734     <span class="c">/**</span>
       
   735 <span class="c">     * Clear the console of messages and flush the buffer of pending messages.</span>
       
   736 <span class="c">     *</span>
       
   737 <span class="c">     * @method clearConsole</span>
       
   738 <span class="c">     * @chainable</span>
       
   739 <span class="c">     */</span>
       
   740     <span class="nx">clearConsole</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   741         <span class="c">// TODO: clear event listeners from console contents</span>
       
   742 <span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">INNER_HTML</span><span class="o">,</span><span class="s1">&#39;&#39;</span><span class="o">);</span>
       
   743 
       
   744         <span class="k">this</span><span class="o">.</span><span class="nx">_cancelPrintLoop</span><span class="o">();</span>
       
   745 
       
   746         <span class="k">this</span><span class="o">.</span><span class="nx">buffer</span> <span class="o">=</span> <span class="o">[];</span>
       
   747 
       
   748         <span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   749     <span class="o">},</span>
       
   750 
       
   751     <span class="c">/**</span>
       
   752 <span class="c">     * Clears the console and resets internal timers.</span>
       
   753 <span class="c">     *</span>
       
   754 <span class="c">     * @method reset</span>
       
   755 <span class="c">     * @chainable</span>
       
   756 <span class="c">     */</span>
       
   757     <span class="nx">reset</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   758         <span class="k">this</span><span class="o">.</span><span class="nx">fire</span><span class="o">(</span><span class="nx">RESET</span><span class="o">);</span>
       
   759         
       
   760         <span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   761     <span class="o">},</span>
       
   762 
       
   763     <span class="c">/**</span>
       
   764 <span class="c">     * Collapses the body and footer.</span>
       
   765 <span class="c">     *</span>
       
   766 <span class="c">     * @method collapse</span>
       
   767 <span class="c">     * @chainable</span>
       
   768 <span class="c">     */</span>
       
   769     <span class="nx">collapse</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   770         <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">COLLAPSED</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
       
   771 
       
   772         <span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   773     <span class="o">},</span>
       
   774 
       
   775     <span class="c">/**</span>
       
   776 <span class="c">     * Expands the body and footer if collapsed.</span>
       
   777 <span class="c">     *</span>
       
   778 <span class="c">     * @method expand</span>
       
   779 <span class="c">     * @chainable</span>
       
   780 <span class="c">     */</span>
       
   781     <span class="nx">expand</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   782         <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">COLLAPSED</span><span class="o">,</span> <span class="kc">false</span><span class="o">);</span>
       
   783 
       
   784         <span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   785     <span class="o">},</span>
       
   786 
       
   787     <span class="c">/**</span>
       
   788 <span class="c">     * Outputs buffered messages to the console UI.  This is typically called</span>
       
   789 <span class="c">     * from a scheduled interval until the buffer is empty (referred to as the</span>
       
   790 <span class="c">     * print loop).  The number of buffered messages output to the Console is</span>
       
   791 <span class="c">     * limited to the number provided as an argument.  If no limit is passed,</span>
       
   792 <span class="c">     * all buffered messages are rendered.</span>
       
   793 <span class="c">     * </span>
       
   794 <span class="c">     * @method printBuffer</span>
       
   795 <span class="c">     * @param limit {Number} (optional) max number of buffered entries to write</span>
       
   796 <span class="c">     * @chainable</span>
       
   797 <span class="c">     */</span>
       
   798     <span class="nx">printBuffer</span><span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">limit</span><span class="o">)</span> <span class="o">{</span>
       
   799         <span class="k">var</span> <span class="nx">messages</span>    <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">buffer</span><span class="o">,</span>
       
   800             <span class="nx">debug</span>       <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span><span class="o">,</span>
       
   801             <span class="nx">entries</span>     <span class="o">=</span> <span class="o">[],</span>
       
   802             <span class="nx">consoleLimit</span><span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;consoleLimit&#39;</span><span class="o">),</span>
       
   803             <span class="nx">newestOnTop</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;newestOnTop&#39;</span><span class="o">),</span>
       
   804             <span class="nx">anchor</span>      <span class="o">=</span> <span class="nx">newestOnTop</span> <span class="o">?</span> <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;firstChild&#39;</span><span class="o">)</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   805             <span class="nx">i</span><span class="o">;</span>
       
   806 
       
   807         <span class="k">if</span> <span class="o">(</span><span class="nx">messages</span><span class="o">.</span><span class="nx">length</span> <span class="o">&gt;</span> <span class="nx">consoleLimit</span><span class="o">)</span> <span class="o">{</span>
       
   808             <span class="nx">messages</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="m">0</span><span class="o">,</span> <span class="nx">messages</span><span class="o">.</span><span class="nx">length</span> <span class="o">-</span> <span class="nx">consoleLimit</span><span class="o">);</span>
       
   809         <span class="o">}</span>
       
   810 
       
   811         <span class="nx">limit</span> <span class="o">=</span> <span class="nb">Math</span><span class="o">.</span><span class="nx">min</span><span class="o">(</span><span class="nx">messages</span><span class="o">.</span><span class="nx">length</span><span class="o">,</span> <span class="o">(</span><span class="nx">limit</span> <span class="o">||</span> <span class="nx">messages</span><span class="o">.</span><span class="nx">length</span><span class="o">));</span>
       
   812         
       
   813         <span class="c">// turn off logging system</span>
       
   814 <span class="c"></span>        <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
   815 
       
   816         <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">PAUSED</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;rendered&#39;</span><span class="o">))</span> <span class="o">{</span>
       
   817 
       
   818             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">limit</span> <span class="o">&amp;&amp;</span> <span class="nx">messages</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="o">++</span><span class="nx">i</span><span class="o">)</span> <span class="o">{</span>
       
   819                 <span class="nx">entries</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_createEntryHTML</span><span class="o">(</span><span class="nx">messages</span><span class="o">.</span><span class="nx">shift</span><span class="o">());</span>
       
   820             <span class="o">}</span>
       
   821 
       
   822             <span class="k">if</span> <span class="o">(!</span><span class="nx">messages</span><span class="o">.</span><span class="nx">length</span><span class="o">)</span> <span class="o">{</span>
       
   823                 <span class="k">this</span><span class="o">.</span><span class="nx">_cancelPrintLoop</span><span class="o">();</span>
       
   824             <span class="o">}</span>
       
   825 
       
   826             <span class="k">if</span> <span class="o">(</span><span class="nx">entries</span><span class="o">.</span><span class="nx">length</span><span class="o">)</span> <span class="o">{</span>
       
   827                 <span class="k">if</span> <span class="o">(</span><span class="nx">newestOnTop</span><span class="o">)</span> <span class="o">{</span>
       
   828                     <span class="nx">entries</span><span class="o">.</span><span class="nx">reverse</span><span class="o">();</span>
       
   829                 <span class="o">}</span>
       
   830 
       
   831                 <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">(</span><span class="nx">create</span><span class="o">(</span><span class="nx">entries</span><span class="o">.</span><span class="nx">join</span><span class="o">(</span><span class="s1">&#39;&#39;</span><span class="o">)),</span> <span class="nx">anchor</span><span class="o">);</span>
       
   832 
       
   833                 <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;scrollIntoView&#39;</span><span class="o">))</span> <span class="o">{</span>
       
   834                     <span class="k">this</span><span class="o">.</span><span class="nx">scrollToLatest</span><span class="o">();</span>
       
   835                 <span class="o">}</span>
       
   836 
       
   837                 <span class="k">this</span><span class="o">.</span><span class="nx">_trimOldEntries</span><span class="o">();</span>
       
   838             <span class="o">}</span>
       
   839         <span class="o">}</span>
       
   840 
       
   841         <span class="c">// restore logging system</span>
       
   842 <span class="c"></span>        <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span> <span class="o">=</span> <span class="nx">debug</span><span class="o">;</span>
       
   843 
       
   844         <span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   845     <span class="o">},</span>
       
   846 
       
   847     
       
   848     <span class="c">/**</span>
       
   849 <span class="c">     * Constructor code.  Set up the buffer and entry template, publish</span>
       
   850 <span class="c">     * internal events, and subscribe to the configured logEvent.</span>
       
   851 <span class="c">     * </span>
       
   852 <span class="c">     * @method initializer</span>
       
   853 <span class="c">     * @protected</span>
       
   854 <span class="c">     */</span>
       
   855     <span class="nx">initializer</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   856         <span class="k">this</span><span class="o">.</span><span class="nx">_evtCat</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">stamp</span><span class="o">(</span><span class="k">this</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;|&#39;</span><span class="o">;</span>
       
   857 
       
   858         <span class="k">this</span><span class="o">.</span><span class="nx">buffer</span> <span class="o">=</span> <span class="o">[];</span>
       
   859 
       
   860         <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;logSource&#39;</span><span class="o">).</span><span class="nx">on</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_evtCat</span> <span class="o">+</span>
       
   861             <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;logEvent&#39;</span><span class="o">),</span><span class="nx">Y</span><span class="o">.</span><span class="nx">bind</span><span class="o">(</span><span class="s2">&quot;_onLogEvent&quot;</span><span class="o">,</span><span class="k">this</span><span class="o">));</span>
       
   862 
       
   863         <span class="c">/**</span>
       
   864 <span class="c">         * Transfers a received message to the print loop buffer.  Default</span>
       
   865 <span class="c">         * behavior defined in _defEntryFn.</span>
       
   866 <span class="c">         *</span>
       
   867 <span class="c">         * @event entry</span>
       
   868 <span class="c">         * @param event {Event.Facade} An Event Facade object with the following attribute specific properties added:</span>
       
   869 <span class="c">         *  &lt;dl&gt;</span>
       
   870 <span class="c">         *      &lt;dt&gt;message&lt;/dt&gt;</span>
       
   871 <span class="c">         *          &lt;dd&gt;The message data normalized into an object literal (see _normalizeMessage)&lt;/dd&gt;</span>
       
   872 <span class="c">         *  &lt;/dl&gt;</span>
       
   873 <span class="c">         * @preventable _defEntryFn</span>
       
   874 <span class="c">         */</span>
       
   875         <span class="k">this</span><span class="o">.</span><span class="nx">publish</span><span class="o">(</span><span class="nx">ENTRY</span><span class="o">,</span> <span class="o">{</span> <span class="nx">defaultFn</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_defEntryFn</span> <span class="o">});</span>
       
   876 
       
   877         <span class="c">/**</span>
       
   878 <span class="c">         * Triggers the reset behavior via the default logic in _defResetFn.</span>
       
   879 <span class="c">         *</span>
       
   880 <span class="c">         * @event reset</span>
       
   881 <span class="c">         * @param event {Event.Facade} Event Facade object</span>
       
   882 <span class="c">         * @preventable _defResetFn</span>
       
   883 <span class="c">         */</span>
       
   884         <span class="k">this</span><span class="o">.</span><span class="nx">publish</span><span class="o">(</span><span class="nx">RESET</span><span class="o">,</span> <span class="o">{</span> <span class="nx">defaultFn</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_defResetFn</span> <span class="o">});</span>
       
   885 
       
   886         <span class="k">this</span><span class="o">.</span><span class="nx">after</span><span class="o">(</span><span class="s1">&#39;rendered&#39;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_schedulePrint</span><span class="o">);</span>
       
   887     <span class="o">},</span>
       
   888 
       
   889     <span class="c">/**</span>
       
   890 <span class="c">     * Tears down the instance, flushing event subscriptions and purging the UI.</span>
       
   891 <span class="c">     *</span>
       
   892 <span class="c">     * @method destructor</span>
       
   893 <span class="c">     * @protected</span>
       
   894 <span class="c">     */</span>
       
   895     <span class="nx">destructor</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   896         <span class="k">var</span> <span class="nx">bb</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;boundingBox&#39;</span><span class="o">);</span>
       
   897 
       
   898         <span class="k">this</span><span class="o">.</span><span class="nx">_cancelPrintLoop</span><span class="o">();</span>
       
   899 
       
   900         <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;logSource&#39;</span><span class="o">).</span><span class="nx">detach</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_evtCat</span> <span class="o">+</span> <span class="s1">&#39;*&#39;</span><span class="o">);</span>
       
   901         
       
   902         <span class="nx">Y</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">purgeElement</span><span class="o">(</span><span class="nx">bb</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
       
   903 
       
   904         <span class="nx">bb</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s1">&#39;innerHTML&#39;</span><span class="o">,</span><span class="s1">&#39;&#39;</span><span class="o">);</span>
       
   905     <span class="o">},</span>
       
   906 
       
   907     <span class="c">/**</span>
       
   908 <span class="c">     * Generate the Console UI.</span>
       
   909 <span class="c">     *</span>
       
   910 <span class="c">     * @method renderUI</span>
       
   911 <span class="c">     * @protected</span>
       
   912 <span class="c">     */</span>
       
   913     <span class="nx">renderUI</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   914         <span class="k">this</span><span class="o">.</span><span class="nx">_initHead</span><span class="o">();</span>
       
   915         <span class="k">this</span><span class="o">.</span><span class="nx">_initBody</span><span class="o">();</span>
       
   916         <span class="k">this</span><span class="o">.</span><span class="nx">_initFoot</span><span class="o">();</span>
       
   917 
       
   918         <span class="c">// Apply positioning to the bounding box if appropriate</span>
       
   919 <span class="c"></span>        <span class="k">var</span> <span class="nx">style</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;style&#39;</span><span class="o">);</span>
       
   920         <span class="k">if</span> <span class="o">(</span><span class="nx">style</span> <span class="o">!==</span> <span class="s1">&#39;block&#39;</span><span class="o">)</span> <span class="o">{</span>
       
   921             <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;boundingBox&#39;</span><span class="o">).</span><span class="nx">addClass</span><span class="o">(</span><span class="s1">&#39;yui-&#39;</span><span class="o">+</span><span class="nx">style</span><span class="o">+</span><span class="s1">&#39;-console&#39;</span><span class="o">);</span>
       
   922         <span class="o">}</span>
       
   923     <span class="o">},</span>
       
   924 
       
   925     <span class="c">/**</span>
       
   926 <span class="c">     * Sync the UI state to the current attribute state.</span>
       
   927 <span class="c">     *</span>
       
   928 <span class="c">     * @method syncUI</span>
       
   929 <span class="c">     */</span>
       
   930     <span class="nx">syncUI</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   931         <span class="k">this</span><span class="o">.</span><span class="nx">_uiUpdatePaused</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">PAUSED</span><span class="o">));</span>
       
   932         <span class="k">this</span><span class="o">.</span><span class="nx">_uiUpdateCollapsed</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">COLLAPSED</span><span class="o">));</span>
       
   933         <span class="k">this</span><span class="o">.</span><span class="nx">_uiSetHeight</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HEIGHT</span><span class="o">));</span>
       
   934     <span class="o">},</span>
       
   935 
       
   936     <span class="c">/**</span>
       
   937 <span class="c">     * Set up event listeners to wire up the UI to the internal state.</span>
       
   938 <span class="c">     *</span>
       
   939 <span class="c">     * @method bindUI</span>
       
   940 <span class="c">     * @protected</span>
       
   941 <span class="c">     */</span>
       
   942     <span class="nx">bindUI</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   943         <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CONTENT_BOX</span><span class="o">).</span><span class="nx">query</span><span class="o">(</span><span class="s1">&#39;button.&#39;</span><span class="o">+</span><span class="nx">C_COLLAPSE</span><span class="o">).</span>
       
   944             <span class="nx">on</span><span class="o">(</span><span class="nx">CLICK</span><span class="o">,</span><span class="k">this</span><span class="o">.</span><span class="nx">_onCollapseClick</span><span class="o">,</span><span class="k">this</span><span class="o">);</span>
       
   945 
       
   946         <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CONTENT_BOX</span><span class="o">).</span><span class="nx">query</span><span class="o">(</span><span class="s1">&#39;input[type=checkbox].&#39;</span><span class="o">+</span><span class="nx">C_PAUSE</span><span class="o">).</span>
       
   947             <span class="nx">on</span><span class="o">(</span><span class="nx">CLICK</span><span class="o">,</span><span class="k">this</span><span class="o">.</span><span class="nx">_onPauseClick</span><span class="o">,</span><span class="k">this</span><span class="o">);</span>
       
   948 
       
   949         <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CONTENT_BOX</span><span class="o">).</span><span class="nx">query</span><span class="o">(</span><span class="s1">&#39;button.&#39;</span><span class="o">+</span><span class="nx">C_CLEAR</span><span class="o">).</span>
       
   950             <span class="nx">on</span><span class="o">(</span><span class="nx">CLICK</span><span class="o">,</span><span class="k">this</span><span class="o">.</span><span class="nx">_onClearClick</span><span class="o">,</span><span class="k">this</span><span class="o">);</span>
       
   951         
       
   952         <span class="c">// Attribute changes</span>
       
   953 <span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">after</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_evtCat</span> <span class="o">+</span> <span class="s1">&#39;stringsChange&#39;</span><span class="o">,</span>
       
   954             <span class="k">this</span><span class="o">.</span><span class="nx">_afterStringsChange</span><span class="o">);</span>
       
   955         <span class="k">this</span><span class="o">.</span><span class="nx">after</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_evtCat</span> <span class="o">+</span> <span class="s1">&#39;pausedChange&#39;</span><span class="o">,</span>
       
   956             <span class="k">this</span><span class="o">.</span><span class="nx">_afterPausedChange</span><span class="o">);</span>
       
   957         <span class="k">this</span><span class="o">.</span><span class="nx">after</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_evtCat</span> <span class="o">+</span> <span class="s1">&#39;consoleLimitChange&#39;</span><span class="o">,</span>
       
   958             <span class="k">this</span><span class="o">.</span><span class="nx">_afterConsoleLimitChange</span><span class="o">);</span>
       
   959         <span class="k">this</span><span class="o">.</span><span class="nx">after</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_evtCat</span> <span class="o">+</span> <span class="s1">&#39;collapsedChange&#39;</span><span class="o">,</span>
       
   960             <span class="k">this</span><span class="o">.</span><span class="nx">_afterCollapsedChange</span><span class="o">);</span>
       
   961     <span class="o">},</span>
       
   962 
       
   963     
       
   964     <span class="c">/**</span>
       
   965 <span class="c">     * Create the DOM structure for the header elements.</span>
       
   966 <span class="c">     *</span>
       
   967 <span class="c">     * @method _initHead</span>
       
   968 <span class="c">     * @protected</span>
       
   969 <span class="c">     */</span>
       
   970     <span class="nx">_initHead</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   971         <span class="k">var</span> <span class="nx">cb</span>   <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CONTENT_BOX</span><span class="o">),</span>
       
   972             <span class="nx">info</span> <span class="o">=</span> <span class="nx">merge</span><span class="o">(</span><span class="nx">Console</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">,</span> <span class="o">{</span>
       
   973                         <span class="nx">str_collapse</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;strings.collapse&#39;</span><span class="o">),</span>
       
   974                         <span class="nx">str_title</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;strings.title&#39;</span><span class="o">)</span>
       
   975                     <span class="o">});</span>
       
   976 
       
   977         <span class="k">this</span><span class="o">.</span><span class="nx">_head</span> <span class="o">=</span> <span class="nx">create</span><span class="o">(</span><span class="nx">substitute</span><span class="o">(</span><span class="nx">Console</span><span class="o">.</span><span class="nx">HEADER_TEMPLATE</span><span class="o">,</span><span class="nx">info</span><span class="o">));</span>
       
   978 
       
   979         <span class="nx">cb</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_head</span><span class="o">,</span><span class="nx">cb</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;firstChild&#39;</span><span class="o">));</span>
       
   980     <span class="o">},</span>
       
   981 
       
   982     <span class="c">/**</span>
       
   983 <span class="c">     * Create the DOM structure for the console body&amp;#8212;where messages are</span>
       
   984 <span class="c">     * rendered.</span>
       
   985 <span class="c">     *</span>
       
   986 <span class="c">     * @method _initBody</span>
       
   987 <span class="c">     * @protected</span>
       
   988 <span class="c">     */</span>
       
   989     <span class="nx">_initBody</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
   990         <span class="k">this</span><span class="o">.</span><span class="nx">_body</span> <span class="o">=</span> <span class="nx">create</span><span class="o">(</span><span class="nx">substitute</span><span class="o">(</span>
       
   991                             <span class="nx">Console</span><span class="o">.</span><span class="nx">BODY_TEMPLATE</span><span class="o">,</span>
       
   992                             <span class="nx">Console</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">));</span>
       
   993 
       
   994         <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CONTENT_BOX</span><span class="o">).</span><span class="nx">appendChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">);</span>
       
   995     <span class="o">},</span>
       
   996 
       
   997     <span class="c">/**</span>
       
   998 <span class="c">     * Create the DOM structure for the footer elements.</span>
       
   999 <span class="c">     *</span>
       
  1000 <span class="c">     * @method _initFoot</span>
       
  1001 <span class="c">     * @protected</span>
       
  1002 <span class="c">     */</span>
       
  1003     <span class="nx">_initFoot</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
  1004         <span class="k">var</span> <span class="nx">info</span> <span class="o">=</span> <span class="nx">merge</span><span class="o">(</span><span class="nx">Console</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">,</span> <span class="o">{</span>
       
  1005                 <span class="nx">id_guid</span>   <span class="o">:</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">guid</span><span class="o">(),</span>
       
  1006                 <span class="nx">str_pause</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;strings.pause&#39;</span><span class="o">),</span>
       
  1007                 <span class="nx">str_clear</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;strings.clear&#39;</span><span class="o">)</span>
       
  1008             <span class="o">});</span>
       
  1009 
       
  1010         <span class="k">this</span><span class="o">.</span><span class="nx">_foot</span> <span class="o">=</span> <span class="nx">create</span><span class="o">(</span><span class="nx">substitute</span><span class="o">(</span><span class="nx">Console</span><span class="o">.</span><span class="nx">FOOTER_TEMPLATE</span><span class="o">,</span><span class="nx">info</span><span class="o">));</span>
       
  1011 
       
  1012         <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CONTENT_BOX</span><span class="o">).</span><span class="nx">appendChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_foot</span><span class="o">);</span>
       
  1013     <span class="o">},</span>
       
  1014 
       
  1015     <span class="c">/**</span>
       
  1016 <span class="c">     * Determine if incoming log messages are within the configured logLevel</span>
       
  1017 <span class="c">     * to be buffered for printing.</span>
       
  1018 <span class="c">     *</span>
       
  1019 <span class="c">     * @method _isInLogLevel</span>
       
  1020 <span class="c">     * @protected</span>
       
  1021 <span class="c">     */</span>
       
  1022     <span class="nx">_isInLogLevel</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1023         <span class="k">var</span> <span class="nx">cat</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">cat</span><span class="o">,</span> <span class="nx">lvl</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;logLevel&#39;</span><span class="o">);</span>
       
  1024 
       
  1025         <span class="k">if</span> <span class="o">(</span><span class="nx">lvl</span> <span class="o">!==</span> <span class="nx">INFO</span><span class="o">)</span> <span class="o">{</span>
       
  1026             <span class="nx">cat</span> <span class="o">=</span> <span class="nx">cat</span> <span class="o">||</span> <span class="nx">INFO</span><span class="o">;</span>
       
  1027 
       
  1028             <span class="k">if</span> <span class="o">(</span><span class="nx">isString</span><span class="o">(</span><span class="nx">cat</span><span class="o">))</span> <span class="o">{</span>
       
  1029                 <span class="nx">cat</span> <span class="o">=</span> <span class="nx">cat</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">();</span>
       
  1030             <span class="o">}</span>
       
  1031 
       
  1032             <span class="k">if</span> <span class="o">((</span><span class="nx">cat</span> <span class="o">===</span> <span class="nx">WARN</span> <span class="o">&amp;&amp;</span> <span class="nx">lvl</span> <span class="o">===</span> <span class="nx">ERROR</span><span class="o">)</span> <span class="o">||</span>
       
  1033                 <span class="o">(</span><span class="nx">cat</span> <span class="o">===</span> <span class="nx">INFO</span> <span class="o">&amp;&amp;</span> <span class="nx">lvl</span> <span class="o">!==</span> <span class="nx">INFO</span><span class="o">))</span> <span class="o">{</span>
       
  1034                 <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
       
  1035             <span class="o">}</span>
       
  1036         <span class="o">}</span>
       
  1037 
       
  1038         <span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
       
  1039     <span class="o">},</span>
       
  1040 
       
  1041     <span class="c">/**</span>
       
  1042 <span class="c">     * Create a log entry message from the inputs including the following keys:</span>
       
  1043 <span class="c">     * &lt;ul&gt;</span>
       
  1044 <span class="c">     *     &lt;li&gt;time - this moment&lt;/li&gt;</span>
       
  1045 <span class="c">     *     &lt;li&gt;message - leg message&lt;/li&gt;</span>
       
  1046 <span class="c">     *     &lt;li&gt;category - logLevel or custom category for the message&lt;/li&gt;</span>
       
  1047 <span class="c">     *     &lt;li&gt;source - when provided, the widget or util calling Y.log&lt;/li&gt;</span>
       
  1048 <span class="c">     *     &lt;li&gt;sourceAndDetail - same as source but can include instance info&lt;/li&gt;</span>
       
  1049 <span class="c">     *     &lt;li&gt;localTime - readable version of time&lt;/li&gt;</span>
       
  1050 <span class="c">     *     &lt;li&gt;elapsedTime - ms since last entry&lt;/li&gt;</span>
       
  1051 <span class="c">     *     &lt;li&gt;totalTime - ms since Console was instantiated or reset&lt;/li&gt;</span>
       
  1052 <span class="c">     * &lt;/ul&gt;</span>
       
  1053 <span class="c">     *</span>
       
  1054 <span class="c">     * @method _normalizeMessage</span>
       
  1055 <span class="c">     * @param e {Event} custom event containing the log message</span>
       
  1056 <span class="c">     * @return Object the message object</span>
       
  1057 <span class="c">     * @protected</span>
       
  1058 <span class="c">     */</span>
       
  1059     <span class="nx">_normalizeMessage</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1060 
       
  1061         <span class="k">var</span> <span class="nx">msg</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">msg</span><span class="o">,</span>
       
  1062             <span class="nx">cat</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">cat</span><span class="o">,</span>
       
  1063             <span class="nx">src</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">src</span><span class="o">,</span>
       
  1064 
       
  1065             <span class="nx">m</span> <span class="o">=</span> <span class="o">{</span>
       
  1066                 <span class="nx">time</span>            <span class="o">:</span> <span class="k">new</span> <span class="nb">Date</span><span class="o">(),</span>
       
  1067                 <span class="nx">message</span>         <span class="o">:</span> <span class="nx">msg</span><span class="o">,</span>
       
  1068                 <span class="nx">category</span>        <span class="o">:</span> <span class="nx">cat</span> <span class="o">||</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;defaultCategory&#39;</span><span class="o">),</span>
       
  1069                 <span class="nx">sourceAndDetail</span> <span class="o">:</span> <span class="nx">src</span> <span class="o">||</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;defaultSource&#39;</span><span class="o">),</span>
       
  1070                 <span class="nx">source</span>          <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
  1071                 <span class="nx">localTime</span>       <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
  1072                 <span class="nx">elapsedTime</span>     <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
  1073                 <span class="nx">totalTime</span>       <span class="o">:</span> <span class="kc">null</span>
       
  1074             <span class="o">};</span>
       
  1075 
       
  1076         <span class="c">// Extract m.source &quot;Foo&quot; from m.sourceAndDetail &quot;Foo bar baz&quot;</span>
       
  1077 <span class="c"></span>        <span class="nx">m</span><span class="o">.</span><span class="nx">source</span>          <span class="o">=</span> <span class="nx">RE_INLINE_SOURCE</span><span class="o">.</span><span class="nx">test</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">sourceAndDetail</span><span class="o">)</span> <span class="o">?</span>
       
  1078                                 <span class="nb">RegExp</span><span class="o">.</span><span class="nx">$1</span> <span class="o">:</span> <span class="nx">m</span><span class="o">.</span><span class="nx">sourceAndDetail</span><span class="o">;</span>
       
  1079         <span class="nx">m</span><span class="o">.</span><span class="nx">localTime</span>       <span class="o">=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">time</span><span class="o">.</span><span class="nx">toLocaleTimeString</span> <span class="o">?</span> 
       
  1080                             <span class="nx">m</span><span class="o">.</span><span class="nx">time</span><span class="o">.</span><span class="nx">toLocaleTimeString</span><span class="o">()</span> <span class="o">:</span> <span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">time</span> <span class="o">+</span> <span class="s1">&#39;&#39;</span><span class="o">);</span>
       
  1081         <span class="nx">m</span><span class="o">.</span><span class="nx">elapsedTime</span>     <span class="o">=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">time</span> <span class="o">-</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">LAST_TIME</span><span class="o">);</span>
       
  1082         <span class="nx">m</span><span class="o">.</span><span class="nx">totalTime</span>       <span class="o">=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">time</span> <span class="o">-</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">START_TIME</span><span class="o">);</span>
       
  1083 
       
  1084         <span class="k">this</span><span class="o">.</span><span class="nx">_set</span><span class="o">(</span><span class="nx">LAST_TIME</span><span class="o">,</span><span class="nx">m</span><span class="o">.</span><span class="nx">time</span><span class="o">);</span>
       
  1085 
       
  1086         <span class="k">return</span> <span class="nx">m</span><span class="o">;</span>
       
  1087     <span class="o">},</span>
       
  1088 
       
  1089     <span class="c">/**</span>
       
  1090 <span class="c">     * Sets an interval for buffered messages to be output to the console.</span>
       
  1091 <span class="c">     *</span>
       
  1092 <span class="c">     * @method _schedulePrint</span>
       
  1093 <span class="c">     * @protected</span>
       
  1094 <span class="c">     */</span>
       
  1095     <span class="nx">_schedulePrint</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
  1096         <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">_printLoop</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">PAUSED</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;rendered&#39;</span><span class="o">))</span> <span class="o">{</span>
       
  1097             <span class="k">this</span><span class="o">.</span><span class="nx">_printLoop</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">later</span><span class="o">(</span>
       
  1098                                 <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;printTimeout&#39;</span><span class="o">),</span>
       
  1099                                 <span class="k">this</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">printBuffer</span><span class="o">,</span>
       
  1100                                 <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;printLimit&#39;</span><span class="o">),</span> <span class="kc">true</span><span class="o">);</span>
       
  1101         <span class="o">}</span>
       
  1102     <span class="o">},</span>
       
  1103 
       
  1104     <span class="c">/**</span>
       
  1105 <span class="c">     * Translates message meta into the markup for a console entry.</span>
       
  1106 <span class="c">     *</span>
       
  1107 <span class="c">     * @method _createEntryHTML</span>
       
  1108 <span class="c">     * @param m {Object} object literal containing normalized message metadata</span>
       
  1109 <span class="c">     * @return String</span>
       
  1110 <span class="c">     * @protected</span>
       
  1111 <span class="c">     */</span>
       
  1112     <span class="nx">_createEntryHTML</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">m</span><span class="o">)</span> <span class="o">{</span>
       
  1113         <span class="nx">m</span> <span class="o">=</span> <span class="nx">merge</span><span class="o">(</span>
       
  1114                 <span class="k">this</span><span class="o">.</span><span class="nx">_htmlEscapeMessage</span><span class="o">(</span><span class="nx">m</span><span class="o">),</span>
       
  1115                 <span class="nx">Console</span><span class="o">.</span><span class="nx">ENTRY_CLASSES</span><span class="o">,</span>
       
  1116                 <span class="o">{</span>
       
  1117                     <span class="nx">cat_class</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">getClassName</span><span class="o">(</span><span class="nx">ENTRY</span><span class="o">,</span><span class="nx">m</span><span class="o">.</span><span class="nx">category</span><span class="o">),</span>
       
  1118                     <span class="nx">src_class</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">getClassName</span><span class="o">(</span><span class="nx">ENTRY</span><span class="o">,</span><span class="nx">m</span><span class="o">.</span><span class="nx">source</span><span class="o">)</span>
       
  1119                 <span class="o">});</span>
       
  1120 
       
  1121         <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;entryTemplate&#39;</span><span class="o">).</span><span class="nx">replace</span><span class="o">(</span><span class="sr">/\{(\w+)\}/g</span><span class="o">,</span>
       
  1122             <span class="k">function</span> <span class="o">(</span><span class="nx">_</span><span class="o">,</span><span class="nx">token</span><span class="o">)</span> <span class="o">{</span>
       
  1123                 <span class="k">return</span> <span class="nx">token</span> <span class="k">in</span> <span class="nx">m</span> <span class="o">?</span> <span class="nx">m</span><span class="o">[</span><span class="nx">token</span><span class="o">]</span> <span class="o">:</span> <span class="s1">&#39;&#39;</span><span class="o">;</span>
       
  1124             <span class="o">});</span>
       
  1125     <span class="o">},</span>
       
  1126 
       
  1127     <span class="c">/**</span>
       
  1128 <span class="c">     * Scrolls to the most recent entry</span>
       
  1129 <span class="c">     *</span>
       
  1130 <span class="c">     * @method scrollToLatest</span>
       
  1131 <span class="c">     * @chainable</span>
       
  1132 <span class="c">     */</span>
       
  1133     <span class="nx">scrollToLatest</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
  1134         <span class="k">var</span> <span class="nx">scrollTop</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;newestOnTop&#39;</span><span class="o">)</span> <span class="o">?</span>
       
  1135                             <span class="m">0</span> <span class="o">:</span>
       
  1136                             <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;scrollHeight&#39;</span><span class="o">);</span>
       
  1137 
       
  1138         <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s1">&#39;scrollTop&#39;</span><span class="o">,</span> <span class="nx">scrollTop</span><span class="o">);</span>
       
  1139     <span class="o">},</span>
       
  1140 
       
  1141     <span class="c">/**</span>
       
  1142 <span class="c">     * Performs HTML escaping on strings in the message object.</span>
       
  1143 <span class="c">     *</span>
       
  1144 <span class="c">     * @method _htmlEscapeMessage</span>
       
  1145 <span class="c">     * @param m {Object} the normalized message object</span>
       
  1146 <span class="c">     * @return Object the message object with proper escapement</span>
       
  1147 <span class="c">     * @protected</span>
       
  1148 <span class="c">     */</span>
       
  1149     <span class="nx">_htmlEscapeMessage</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">m</span><span class="o">)</span> <span class="o">{</span>
       
  1150         <span class="nx">m</span><span class="o">.</span><span class="nx">message</span>         <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_encodeHTML</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">message</span><span class="o">);</span>
       
  1151         <span class="nx">m</span><span class="o">.</span><span class="nx">source</span>          <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_encodeHTML</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">source</span><span class="o">);</span>
       
  1152         <span class="nx">m</span><span class="o">.</span><span class="nx">sourceAndDetail</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_encodeHTML</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">sourceAndDetail</span><span class="o">);</span>
       
  1153         <span class="nx">m</span><span class="o">.</span><span class="nx">category</span>        <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_encodeHTML</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">category</span><span class="o">);</span>
       
  1154 
       
  1155         <span class="k">return</span> <span class="nx">m</span><span class="o">;</span>
       
  1156     <span class="o">},</span>
       
  1157 
       
  1158     <span class="c">/**</span>
       
  1159 <span class="c">     * Removes the oldest message entries from the UI to maintain the limit</span>
       
  1160 <span class="c">     * specified in the consoleLimit configuration.</span>
       
  1161 <span class="c">     *</span>
       
  1162 <span class="c">     * @method _trimOldEntries</span>
       
  1163 <span class="c">     * @protected</span>
       
  1164 <span class="c">     */</span>
       
  1165     <span class="nx">_trimOldEntries</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
  1166         <span class="c">// Turn off the logging system for the duration of this operation</span>
       
  1167 <span class="c"></span>        <span class="c">// to prevent an infinite loop</span>
       
  1168 <span class="c"></span>        <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
  1169 
       
  1170         <span class="k">var</span> <span class="nx">bd</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">,</span>
       
  1171             <span class="nx">limit</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;consoleLimit&#39;</span><span class="o">),</span>
       
  1172             <span class="nx">debug</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span><span class="o">,</span>
       
  1173             <span class="nx">entries</span><span class="o">,</span><span class="nx">e</span><span class="o">,</span><span class="nx">i</span><span class="o">,</span><span class="nx">l</span><span class="o">;</span>
       
  1174 
       
  1175         <span class="k">if</span> <span class="o">(</span><span class="nx">bd</span><span class="o">)</span> <span class="o">{</span>
       
  1176             <span class="nx">entries</span> <span class="o">=</span> <span class="nx">bd</span><span class="o">.</span><span class="nx">queryAll</span><span class="o">(</span><span class="nx">DOT</span><span class="o">+</span><span class="nx">C_ENTRY</span><span class="o">);</span>
       
  1177             <span class="nx">l</span> <span class="o">=</span> <span class="nx">entries</span><span class="o">.</span><span class="nx">size</span><span class="o">()</span> <span class="o">-</span> <span class="nx">limit</span><span class="o">;</span>
       
  1178 
       
  1179             <span class="k">if</span> <span class="o">(</span><span class="nx">l</span> <span class="o">&gt;</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
       
  1180                 <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;newestOnTop&#39;</span><span class="o">))</span> <span class="o">{</span>
       
  1181                     <span class="nx">i</span> <span class="o">=</span> <span class="nx">limit</span><span class="o">;</span>
       
  1182                     <span class="nx">l</span> <span class="o">=</span> <span class="nx">entries</span><span class="o">.</span><span class="nx">size</span><span class="o">();</span>
       
  1183                 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  1184                     <span class="nx">i</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span>
       
  1185                 <span class="o">}</span>
       
  1186 
       
  1187                 <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="s1">&#39;display&#39;</span><span class="o">,</span><span class="s1">&#39;none&#39;</span><span class="o">);</span>
       
  1188 
       
  1189                 <span class="k">for</span> <span class="o">(;</span><span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">l</span><span class="o">;</span> <span class="o">++</span><span class="nx">i</span><span class="o">)</span> <span class="o">{</span>
       
  1190                     <span class="nx">e</span> <span class="o">=</span> <span class="nx">entries</span><span class="o">.</span><span class="nx">item</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span>
       
  1191                     <span class="k">if</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1192                         <span class="nx">e</span><span class="o">.</span><span class="nx">remove</span><span class="o">();</span>
       
  1193                     <span class="o">}</span>
       
  1194                 <span class="o">}</span>
       
  1195 
       
  1196                 <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="s1">&#39;display&#39;</span><span class="o">,</span><span class="s1">&#39;&#39;</span><span class="o">);</span>
       
  1197             <span class="o">}</span>
       
  1198 
       
  1199         <span class="o">}</span>
       
  1200 
       
  1201         <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span> <span class="o">=</span> <span class="nx">debug</span><span class="o">;</span>
       
  1202     <span class="o">},</span>
       
  1203 
       
  1204     <span class="c">/**</span>
       
  1205 <span class="c">     * Returns the input string with ampersands (&amp;amp;), &amp;lt, and &amp;gt; encoded</span>
       
  1206 <span class="c">     * as HTML entities.</span>
       
  1207 <span class="c">     *</span>
       
  1208 <span class="c">     * @method _encodeHTML</span>
       
  1209 <span class="c">     * @param s {String} the raw string</span>
       
  1210 <span class="c">     * @return String the encoded string</span>
       
  1211 <span class="c">     * @protected</span>
       
  1212 <span class="c">     */</span>
       
  1213     <span class="nx">_encodeHTML</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
       
  1214         <span class="k">return</span> <span class="nx">isString</span><span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">?</span>
       
  1215             <span class="nx">s</span><span class="o">.</span><span class="nx">replace</span><span class="o">(</span><span class="nx">RE_AMP</span><span class="o">,</span><span class="nx">ESC_AMP</span><span class="o">).</span>
       
  1216               <span class="nx">replace</span><span class="o">(</span><span class="nx">RE_LT</span><span class="o">,</span> <span class="nx">ESC_LT</span><span class="o">).</span>
       
  1217               <span class="nx">replace</span><span class="o">(</span><span class="nx">RE_GT</span><span class="o">,</span> <span class="nx">ESC_GT</span><span class="o">)</span> <span class="o">:</span>
       
  1218             <span class="nx">s</span><span class="o">;</span>
       
  1219     <span class="o">},</span>
       
  1220 
       
  1221     <span class="c">/**</span>
       
  1222 <span class="c">     * Clears the timeout for printing buffered messages.</span>
       
  1223 <span class="c">     *</span>
       
  1224 <span class="c">     * @method _cancelPrintLoop</span>
       
  1225 <span class="c">     * @protected</span>
       
  1226 <span class="c">     */</span>
       
  1227     <span class="nx">_cancelPrintLoop</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
  1228         <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_printLoop</span><span class="o">)</span> <span class="o">{</span>
       
  1229             <span class="k">this</span><span class="o">.</span><span class="nx">_printLoop</span><span class="o">.</span><span class="nx">cancel</span><span class="o">();</span>
       
  1230             <span class="k">this</span><span class="o">.</span><span class="nx">_printLoop</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
  1231         <span class="o">}</span>
       
  1232     <span class="o">},</span>
       
  1233 
       
  1234     <span class="c">/**</span>
       
  1235 <span class="c">     * Validates input value for style attribute.  Accepts only values &#39;inline&#39;,</span>
       
  1236 <span class="c">     * &#39;block&#39;, and &#39;separate&#39;.</span>
       
  1237 <span class="c">     *</span>
       
  1238 <span class="c">     * @method _validateStyle</span>
       
  1239 <span class="c">     * @param style {String} the proposed value</span>
       
  1240 <span class="c">     * @return {Boolean} pass/fail</span>
       
  1241 <span class="c">     * @protected</span>
       
  1242 <span class="c">     */</span>
       
  1243     <span class="nx">_validateStyle</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">style</span><span class="o">)</span> <span class="o">{</span>
       
  1244         <span class="k">return</span> <span class="nx">style</span> <span class="o">===</span> <span class="s1">&#39;inline&#39;</span> <span class="o">||</span> <span class="nx">style</span> <span class="o">===</span> <span class="s1">&#39;block&#39;</span> <span class="o">||</span> <span class="nx">style</span> <span class="o">===</span> <span class="s1">&#39;separate&#39;</span><span class="o">;</span>
       
  1245     <span class="o">},</span>
       
  1246 
       
  1247     <span class="c">/**</span>
       
  1248 <span class="c">     * Event handler for clicking on the Pause checkbox to update the paused</span>
       
  1249 <span class="c">     * attribute.</span>
       
  1250 <span class="c">     *</span>
       
  1251 <span class="c">     * @method _onPauseClick</span>
       
  1252 <span class="c">     * @param e {Event} DOM event facade for the click event</span>
       
  1253 <span class="c">     * @protected</span>
       
  1254 <span class="c">     */</span>
       
  1255     <span class="nx">_onPauseClick</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1256         <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">PAUSED</span><span class="o">,</span><span class="nx">e</span><span class="o">.</span><span class="nx">target</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CHECKED</span><span class="o">));</span>
       
  1257     <span class="o">},</span>
       
  1258 
       
  1259     <span class="c">/**</span>
       
  1260 <span class="c">     * Event handler for clicking on the Clear button.  Pass-through to</span>
       
  1261 <span class="c">     * &lt;code&gt;this.clearConsole()&lt;/code&gt;.</span>
       
  1262 <span class="c">     *</span>
       
  1263 <span class="c">     * @method _onClearClick</span>
       
  1264 <span class="c">     * @param e {Event} DOM event facade for the click event</span>
       
  1265 <span class="c">     * @protected</span>
       
  1266 <span class="c">     */</span>
       
  1267     <span class="nx">_onClearClick</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1268         <span class="k">this</span><span class="o">.</span><span class="nx">clearConsole</span><span class="o">();</span>
       
  1269     <span class="o">},</span>
       
  1270 
       
  1271     <span class="c">/**</span>
       
  1272 <span class="c">     * Event handler for clicking on the Collapse/Expand button. Sets the</span>
       
  1273 <span class="c">     * &amp;quot;collapsed&amp;quot; attribute accordingly.</span>
       
  1274 <span class="c">     *</span>
       
  1275 <span class="c">     * @method _onCollapseClick</span>
       
  1276 <span class="c">     * @param e {Event} DOM event facade for the click event</span>
       
  1277 <span class="c">     * @protected</span>
       
  1278 <span class="c">     */</span>
       
  1279     <span class="nx">_onCollapseClick</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1280         <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">COLLAPSED</span><span class="o">,</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">COLLAPSED</span><span class="o">));</span>
       
  1281     <span class="o">},</span>
       
  1282 
       
  1283 
       
  1284     <span class="c">/**</span>
       
  1285 <span class="c">     * Setter method for logLevel attribute.  Acceptable values are</span>
       
  1286 <span class="c">     * &amp;quot;error&amp;quot, &amp;quot;warn&amp;quot, and &amp;quot;info&amp;quot (case</span>
       
  1287 <span class="c">     * insensitive).  Other values are treated as &amp;quot;info&amp;quot;.</span>
       
  1288 <span class="c">     *</span>
       
  1289 <span class="c">     * @method _setLogLevel</span>
       
  1290 <span class="c">     * @param v {String} the desired log level</span>
       
  1291 <span class="c">     * @return String One of Console.LOG_LEVEL_INFO, _WARN, or _ERROR</span>
       
  1292 <span class="c">     * @protected</span>
       
  1293 <span class="c">     */</span>
       
  1294     <span class="nx">_setLogLevel</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
  1295         <span class="k">if</span> <span class="o">(</span><span class="nx">isString</span><span class="o">(</span><span class="nx">v</span><span class="o">))</span> <span class="o">{</span>
       
  1296             <span class="nx">v</span> <span class="o">=</span> <span class="nx">v</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">();</span>
       
  1297         <span class="o">}</span>
       
  1298         
       
  1299         <span class="k">return</span> <span class="o">(</span><span class="nx">v</span> <span class="o">===</span> <span class="nx">WARN</span> <span class="o">||</span> <span class="nx">v</span> <span class="o">===</span> <span class="nx">ERROR</span><span class="o">)</span> <span class="o">?</span> <span class="nx">v</span> <span class="o">:</span> <span class="nx">INFO</span><span class="o">;</span>
       
  1300     <span class="o">},</span>
       
  1301 
       
  1302     <span class="c">/**</span>
       
  1303 <span class="c">     * Set the height of the Console container.  Set the body height to the difference between the configured height and the calculated heights of the header and footer.</span>
       
  1304 <span class="c">     * Overrides Widget.prototype._uiSetHeight.</span>
       
  1305 <span class="c">     *</span>
       
  1306 <span class="c">     * @method _uiSetHeight</span>
       
  1307 <span class="c">     * @param v {String|Number} the new height</span>
       
  1308 <span class="c">     * @protected</span>
       
  1309 <span class="c">     */</span>
       
  1310     <span class="nx">_uiSetHeight</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
  1311         <span class="nx">Console</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">_uiSetHeight</span><span class="o">.</span><span class="nx">apply</span><span class="o">(</span><span class="k">this</span><span class="o">,</span><span class="nx">arguments</span><span class="o">);</span>
       
  1312 
       
  1313         <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_head</span> <span class="o">&amp;&amp;</span> <span class="k">this</span><span class="o">.</span><span class="nx">_foot</span><span class="o">)</span> <span class="o">{</span>
       
  1314             <span class="k">var</span> <span class="nx">h</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;boundingBox&#39;</span><span class="o">).</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;offsetHeight&#39;</span><span class="o">)</span> <span class="o">-</span>
       
  1315                     <span class="k">this</span><span class="o">.</span><span class="nx">_head</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;offsetHeight&#39;</span><span class="o">)</span> <span class="o">-</span>
       
  1316                     <span class="k">this</span><span class="o">.</span><span class="nx">_foot</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;offsetHeight&#39;</span><span class="o">);</span>
       
  1317 
       
  1318             <span class="k">this</span><span class="o">.</span><span class="nx">_body</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="nx">HEIGHT</span><span class="o">,</span><span class="nx">h</span><span class="o">+</span><span class="s1">&#39;px&#39;</span><span class="o">);</span>
       
  1319         <span class="o">}</span>
       
  1320     <span class="o">},</span>
       
  1321 
       
  1322     <span class="c">/**</span>
       
  1323 <span class="c">     * Updates the UI if changes are made to any of the strings in the strings</span>
       
  1324 <span class="c">     * attribute.</span>
       
  1325 <span class="c">     *</span>
       
  1326 <span class="c">     * @method _afterStringsChange</span>
       
  1327 <span class="c">     * @param e {Event} Custom event for the attribute change</span>
       
  1328 <span class="c">     * @protected</span>
       
  1329 <span class="c">     */</span>
       
  1330     <span class="nx">_afterStringsChange</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1331         <span class="k">var</span> <span class="nx">prop</span>   <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">subAttrName</span> <span class="o">?</span> <span class="nx">e</span><span class="o">.</span><span class="nx">subAttrName</span><span class="o">.</span><span class="nx">split</span><span class="o">(</span><span class="nx">DOT</span><span class="o">)[</span><span class="m">1</span><span class="o">]</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
  1332             <span class="nx">cb</span>     <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CONTENT_BOX</span><span class="o">),</span>
       
  1333             <span class="nx">before</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">prevVal</span><span class="o">,</span>
       
  1334             <span class="nx">after</span>  <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">newVal</span><span class="o">;</span>
       
  1335 
       
  1336         <span class="k">if</span> <span class="o">((!</span><span class="nx">prop</span> <span class="o">||</span> <span class="nx">prop</span> <span class="o">===</span> <span class="nx">TITLE</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="nx">before</span><span class="o">.</span><span class="nx">title</span> <span class="o">!==</span> <span class="nx">after</span><span class="o">.</span><span class="nx">title</span><span class="o">)</span> <span class="o">{</span>
       
  1337             <span class="nx">cb</span><span class="o">.</span><span class="nx">queryAll</span><span class="o">(</span><span class="nx">DOT</span><span class="o">+</span><span class="nx">C_CONSOLE_TITLE</span><span class="o">).</span><span class="nx">set</span><span class="o">(</span><span class="nx">INNER_HTML</span><span class="o">,</span> <span class="nx">after</span><span class="o">.</span><span class="nx">title</span><span class="o">);</span>
       
  1338         <span class="o">}</span>
       
  1339 
       
  1340         <span class="k">if</span> <span class="o">((!</span><span class="nx">prop</span> <span class="o">||</span> <span class="nx">prop</span> <span class="o">===</span> <span class="nx">PAUSE</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="nx">before</span><span class="o">.</span><span class="nx">pause</span> <span class="o">!==</span> <span class="nx">after</span><span class="o">.</span><span class="nx">pause</span><span class="o">)</span> <span class="o">{</span>
       
  1341             <span class="nx">cb</span><span class="o">.</span><span class="nx">queryAll</span><span class="o">(</span><span class="nx">DOT</span><span class="o">+</span><span class="nx">C_PAUSE_LABEL</span><span class="o">).</span><span class="nx">set</span><span class="o">(</span><span class="nx">INNER_HTML</span><span class="o">,</span> <span class="nx">after</span><span class="o">.</span><span class="nx">pause</span><span class="o">);</span>
       
  1342         <span class="o">}</span>
       
  1343 
       
  1344         <span class="k">if</span> <span class="o">((!</span><span class="nx">prop</span> <span class="o">||</span> <span class="nx">prop</span> <span class="o">===</span> <span class="nx">CLEAR</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="nx">before</span><span class="o">.</span><span class="nx">clear</span> <span class="o">!==</span> <span class="nx">after</span><span class="o">.</span><span class="nx">clear</span><span class="o">)</span> <span class="o">{</span>
       
  1345             <span class="nx">cb</span><span class="o">.</span><span class="nx">queryAll</span><span class="o">(</span><span class="nx">DOT</span><span class="o">+</span><span class="nx">C_CLEAR</span><span class="o">).</span><span class="nx">set</span><span class="o">(</span><span class="s1">&#39;value&#39;</span><span class="o">,</span><span class="nx">after</span><span class="o">.</span><span class="nx">clear</span><span class="o">);</span>
       
  1346         <span class="o">}</span>
       
  1347     <span class="o">},</span>
       
  1348 
       
  1349     <span class="c">/**</span>
       
  1350 <span class="c">     * Updates the UI and schedules or cancels the print loop.</span>
       
  1351 <span class="c">     *</span>
       
  1352 <span class="c">     * @method _afterPausedChange</span>
       
  1353 <span class="c">     * @param e {Event} Custom event for the attribute change</span>
       
  1354 <span class="c">     * @protected</span>
       
  1355 <span class="c">     */</span>
       
  1356     <span class="nx">_afterPausedChange</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1357         <span class="k">var</span> <span class="nx">paused</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">newVal</span><span class="o">;</span>
       
  1358 
       
  1359         <span class="k">if</span> <span class="o">(</span><span class="nx">e</span><span class="o">.</span><span class="nx">src</span> <span class="o">!==</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Widget</span><span class="o">.</span><span class="nx">SRC_UI</span><span class="o">)</span> <span class="o">{</span>
       
  1360             <span class="k">this</span><span class="o">.</span><span class="nx">_uiUpdatePaused</span><span class="o">(</span><span class="nx">paused</span><span class="o">);</span>
       
  1361         <span class="o">}</span>
       
  1362 
       
  1363         <span class="k">if</span> <span class="o">(!</span><span class="nx">paused</span><span class="o">)</span> <span class="o">{</span>
       
  1364             <span class="k">this</span><span class="o">.</span><span class="nx">_schedulePrint</span><span class="o">();</span>
       
  1365         <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_printLoop</span><span class="o">)</span> <span class="o">{</span>
       
  1366             <span class="k">this</span><span class="o">.</span><span class="nx">_cancelPrintLoop</span><span class="o">();</span>
       
  1367         <span class="o">}</span>
       
  1368     <span class="o">},</span>
       
  1369 
       
  1370     <span class="c">/**</span>
       
  1371 <span class="c">     * Checks or unchecks the paused checkbox</span>
       
  1372 <span class="c">     *</span>
       
  1373 <span class="c">     * @method _uiUpdatePaused</span>
       
  1374 <span class="c">     * @param on {Boolean} the new checked state</span>
       
  1375 <span class="c">     * @protected</span>
       
  1376 <span class="c">     */</span>
       
  1377     <span class="nx">_uiUpdatePaused</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">on</span><span class="o">)</span> <span class="o">{</span>
       
  1378         <span class="k">var</span> <span class="nx">node</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_foot</span><span class="o">.</span><span class="nx">queryAll</span><span class="o">(</span><span class="s1">&#39;input[type=checkbox].&#39;</span><span class="o">+</span><span class="nx">C_PAUSE</span><span class="o">);</span>
       
  1379 
       
  1380         <span class="k">if</span> <span class="o">(</span><span class="nx">node</span><span class="o">)</span> <span class="o">{</span>
       
  1381             <span class="nx">node</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">CHECKED</span><span class="o">,</span><span class="nx">on</span><span class="o">);</span>
       
  1382         <span class="o">}</span>
       
  1383     <span class="o">},</span>
       
  1384 
       
  1385     <span class="c">/**</span>
       
  1386 <span class="c">     * Calls this._trimOldEntries() in response to changes in the configured</span>
       
  1387 <span class="c">     * consoleLimit attribute.</span>
       
  1388 <span class="c">     * </span>
       
  1389 <span class="c">     * @method _afterConsoleLimitChange</span>
       
  1390 <span class="c">     * @param e {Event} Custom event for the attribute change</span>
       
  1391 <span class="c">     * @protected</span>
       
  1392 <span class="c">     */</span>
       
  1393     <span class="nx">_afterConsoleLimitChange</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
  1394         <span class="k">this</span><span class="o">.</span><span class="nx">_trimOldEntries</span><span class="o">();</span>
       
  1395     <span class="o">},</span>
       
  1396 
       
  1397 
       
  1398     <span class="c">/**</span>
       
  1399 <span class="c">     * Updates the className of the contentBox, which should trigger CSS to</span>
       
  1400 <span class="c">     * hide or show the body and footer sections depending on the new value.</span>
       
  1401 <span class="c">     *</span>
       
  1402 <span class="c">     * @method _afterCollapsedChange</span>
       
  1403 <span class="c">     * @param e {Event} Custom event for the attribute change</span>
       
  1404 <span class="c">     * @protected</span>
       
  1405 <span class="c">     */</span>
       
  1406     <span class="nx">_afterCollapsedChange</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1407         <span class="k">this</span><span class="o">.</span><span class="nx">_uiUpdateCollapsed</span><span class="o">(</span><span class="nx">e</span><span class="o">.</span><span class="nx">newVal</span><span class="o">);</span>
       
  1408     <span class="o">},</span>
       
  1409 
       
  1410     <span class="c">/**</span>
       
  1411 <span class="c">     * Updates the UI to reflect the new Collapsed state</span>
       
  1412 <span class="c">     *</span>
       
  1413 <span class="c">     * @method _uiUpdateCollapsed</span>
       
  1414 <span class="c">     * @param v {Boolean} true for collapsed, false for expanded</span>
       
  1415 <span class="c">     * @protected</span>
       
  1416 <span class="c">     */</span>
       
  1417     <span class="nx">_uiUpdateCollapsed</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
  1418         <span class="k">var</span> <span class="nx">bb</span>     <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;boundingBox&#39;</span><span class="o">),</span>
       
  1419             <span class="nx">button</span> <span class="o">=</span> <span class="nx">bb</span><span class="o">.</span><span class="nx">queryAll</span><span class="o">(</span><span class="s1">&#39;button.&#39;</span><span class="o">+</span><span class="nx">C_COLLAPSE</span><span class="o">),</span>
       
  1420             <span class="nx">method</span> <span class="o">=</span> <span class="nx">v</span> <span class="o">?</span> <span class="s1">&#39;addClass&#39;</span> <span class="o">:</span> <span class="s1">&#39;removeClass&#39;</span><span class="o">,</span>
       
  1421             <span class="nx">str</span>    <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;strings.&#39;</span><span class="o">+(</span><span class="nx">v</span> <span class="o">?</span> <span class="s1">&#39;expand&#39;</span> <span class="o">:</span> <span class="s1">&#39;collapse&#39;</span><span class="o">));</span>
       
  1422 
       
  1423         <span class="nx">bb</span><span class="o">[</span><span class="nx">method</span><span class="o">](</span><span class="nx">C_COLLAPSED</span><span class="o">);</span>
       
  1424 
       
  1425         <span class="k">if</span> <span class="o">(</span><span class="nx">button</span><span class="o">)</span> <span class="o">{</span>
       
  1426             <span class="nx">button</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s1">&#39;innerHTML&#39;</span><span class="o">,</span><span class="nx">str</span><span class="o">);</span>
       
  1427         <span class="o">}</span>
       
  1428 
       
  1429         <span class="k">this</span><span class="o">.</span><span class="nx">_uiSetHeight</span><span class="o">(</span><span class="nx">v</span> <span class="o">?</span> <span class="k">this</span><span class="o">.</span><span class="nx">_head</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;offsetHeight&#39;</span><span class="o">):</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HEIGHT</span><span class="o">));</span>
       
  1430     <span class="o">},</span>
       
  1431 
       
  1432     <span class="c">/**</span>
       
  1433 <span class="c">     * Makes adjustments to the UI if needed when the Console is hidden or shown</span>
       
  1434 <span class="c">     *</span>
       
  1435 <span class="c">     * @method _afterVisibleChange</span>
       
  1436 <span class="c">     * @param e {Event} the visibleChange event</span>
       
  1437 <span class="c">     * @protected</span>
       
  1438 <span class="c">     */</span>
       
  1439     <span class="nx">_afterVisibleChange</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1440         <span class="nx">Console</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">_afterVisibleChange</span><span class="o">.</span><span class="nx">apply</span><span class="o">(</span><span class="k">this</span><span class="o">,</span><span class="nx">arguments</span><span class="o">);</span>
       
  1441 
       
  1442         <span class="k">this</span><span class="o">.</span><span class="nx">_uiUpdateFromHideShow</span><span class="o">(</span><span class="nx">e</span><span class="o">.</span><span class="nx">newVal</span><span class="o">);</span>
       
  1443     <span class="o">},</span>
       
  1444 
       
  1445     <span class="c">/**</span>
       
  1446 <span class="c">     * Recalculates dimensions and updates appropriately when shown</span>
       
  1447 <span class="c">     *</span>
       
  1448 <span class="c">     * @method _uiUpdateFromHideShow</span>
       
  1449 <span class="c">     * @param v {Boolean} true for visible, false for hidden</span>
       
  1450 <span class="c">     * @protected</span>
       
  1451 <span class="c">     */</span>
       
  1452     <span class="nx">_uiUpdateFromHideShow</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
  1453         <span class="k">if</span> <span class="o">(</span><span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
       
  1454             <span class="k">this</span><span class="o">.</span><span class="nx">_uiSetHeight</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HEIGHT</span><span class="o">));</span>
       
  1455         <span class="o">}</span>
       
  1456     <span class="o">},</span>
       
  1457 
       
  1458     <span class="c">/**</span>
       
  1459 <span class="c">     * Responds to log events by normalizing qualifying messages and passing</span>
       
  1460 <span class="c">     * them along through the entry event for buffering etc.</span>
       
  1461 <span class="c">     * </span>
       
  1462 <span class="c">     * @method _onLogEvent</span>
       
  1463 <span class="c">     * @param msg {String} the log message</span>
       
  1464 <span class="c">     * @param cat {String} OPTIONAL the category or logLevel of the message</span>
       
  1465 <span class="c">     * @param src {String} OPTIONAL the source of the message (e.g. widget name)</span>
       
  1466 <span class="c">     * @protected</span>
       
  1467 <span class="c">     */</span>
       
  1468     <span class="nx">_onLogEvent</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1469 
       
  1470         <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">DISABLED</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="k">this</span><span class="o">.</span><span class="nx">_isInLogLevel</span><span class="o">(</span><span class="nx">e</span><span class="o">))</span> <span class="o">{</span>
       
  1471 
       
  1472             <span class="k">var</span> <span class="nx">debug</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span><span class="o">;</span>
       
  1473 
       
  1474             <span class="c">/* TODO: needed? */</span>
       
  1475             <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
  1476 
       
  1477             <span class="k">this</span><span class="o">.</span><span class="nx">fire</span><span class="o">(</span><span class="nx">ENTRY</span><span class="o">,</span> <span class="o">{</span>
       
  1478                 <span class="nx">message</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_normalizeMessage</span><span class="o">(</span><span class="nx">e</span><span class="o">)</span>
       
  1479             <span class="o">});</span>
       
  1480 
       
  1481             <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">debug</span> <span class="o">=</span> <span class="nx">debug</span><span class="o">;</span>
       
  1482         <span class="o">}</span>
       
  1483     <span class="o">},</span>
       
  1484 
       
  1485     <span class="c">/**</span>
       
  1486 <span class="c">     * Clears the console, resets the startTime attribute, enables and</span>
       
  1487 <span class="c">     * unpauses the widget.</span>
       
  1488 <span class="c">     *</span>
       
  1489 <span class="c">     * @method _defResetFn</span>
       
  1490 <span class="c">     * @protected</span>
       
  1491 <span class="c">     */</span>
       
  1492     <span class="nx">_defResetFn</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
       
  1493         <span class="k">this</span><span class="o">.</span><span class="nx">clearConsole</span><span class="o">();</span>
       
  1494         <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">START_TIME</span><span class="o">,</span><span class="k">new</span> <span class="nb">Date</span><span class="o">());</span>
       
  1495         <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">DISABLED</span><span class="o">,</span><span class="kc">false</span><span class="o">);</span>
       
  1496         <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">PAUSED</span><span class="o">,</span><span class="kc">false</span><span class="o">);</span>
       
  1497     <span class="o">},</span>
       
  1498 
       
  1499     <span class="c">/**</span>
       
  1500 <span class="c">     * Buffers incoming message objects and schedules the printing.</span>
       
  1501 <span class="c">     *</span>
       
  1502 <span class="c">     * @method _defEntryFn</span>
       
  1503 <span class="c">     * @param e {Event} The Custom event carrying the message in its payload</span>
       
  1504 <span class="c">     * @protected</span>
       
  1505 <span class="c">     */</span>
       
  1506     <span class="nx">_defEntryFn</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
       
  1507         <span class="k">if</span> <span class="o">(</span><span class="nx">e</span><span class="o">.</span><span class="nx">message</span><span class="o">)</span> <span class="o">{</span>
       
  1508             <span class="k">this</span><span class="o">.</span><span class="nx">buffer</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">e</span><span class="o">.</span><span class="nx">message</span><span class="o">);</span>
       
  1509             <span class="k">this</span><span class="o">.</span><span class="nx">_schedulePrint</span><span class="o">();</span>
       
  1510         <span class="o">}</span>
       
  1511     <span class="o">}</span>
       
  1512 
       
  1513 <span class="o">});</span>
       
  1514 
       
  1515 <span class="nx">Y</span><span class="o">.</span><span class="nx">Console</span> <span class="o">=</span> <span class="nx">Console</span><span class="o">;</span>
       
  1516 </pre></div>
       
  1517 
       
  1518                     </div>
       
  1519 			</div>
       
  1520 		</div>
       
  1521 		<div class="yui-b">
       
  1522             <div class="nav">
       
  1523 
       
  1524                     <div id="moduleList" class="module">
       
  1525                         <h4>Modules</h4>
       
  1526                         <ul class="content">
       
  1527                                 <li class=""><a href="module_anim.html" title="anim">anim</a></li>
       
  1528                                 <li class=""><a href="module_async-queue.html" title="async-queue">async-queue</a></li>
       
  1529                                 <li class=""><a href="module_attribute.html" title="attribute">attribute</a></li>
       
  1530                                 <li class=""><a href="module_base.html" title="base">base</a></li>
       
  1531                                 <li class=""><a href="module_cache.html" title="cache">cache</a></li>
       
  1532                                 <li class=""><a href="module_classnamemanager.html" title="classnamemanager">classnamemanager</a></li>
       
  1533                                 <li class=""><a href="module_collection.html" title="collection">collection</a></li>
       
  1534                                 <li class="selected"><a href="module_console.html" title="console">console</a></li>
       
  1535                                 <li class=""><a href="module_console-filters.html" title="console-filters">console-filters</a></li>
       
  1536                                 <li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
       
  1537                                 <li class=""><a href="module_dataschema.html" title="dataschema">dataschema</a></li>
       
  1538                                 <li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
       
  1539                                 <li class=""><a href="module_datatype.html" title="datatype">datatype</a></li>
       
  1540                                 <li class=""><a href="module_dd.html" title="dd">dd</a></li>
       
  1541                                 <li class=""><a href="module_dom.html" title="dom">dom</a></li>
       
  1542                                 <li class=""><a href="module_dump.html" title="dump">dump</a></li>
       
  1543                                 <li class=""><a href="module_event.html" title="event">event</a></li>
       
  1544                                 <li class=""><a href="module_event-custom.html" title="event-custom">event-custom</a></li>
       
  1545                                 <li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
       
  1546                                 <li class=""><a href="module_history.html" title="history">history</a></li>
       
  1547                                 <li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
       
  1548                                 <li class=""><a href="module_io.html" title="io">io</a></li>
       
  1549                                 <li class=""><a href="module_json.html" title="json">json</a></li>
       
  1550                                 <li class=""><a href="module_node.html" title="node">node</a></li>
       
  1551                                 <li class=""><a href="module_node-focusmanager.html" title="node-focusmanager">node-focusmanager</a></li>
       
  1552                                 <li class=""><a href="module_node-menunav.html" title="node-menunav">node-menunav</a></li>
       
  1553                                 <li class=""><a href="module_oop.html" title="oop">oop</a></li>
       
  1554                                 <li class=""><a href="module_overlay.html" title="overlay">overlay</a></li>
       
  1555                                 <li class=""><a href="module_plugin.html" title="plugin">plugin</a></li>
       
  1556                                 <li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
       
  1557                                 <li class=""><a href="module_queue-promote.html" title="queue-promote">queue-promote</a></li>
       
  1558                                 <li class=""><a href="module_slider.html" title="slider">slider</a></li>
       
  1559                                 <li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
       
  1560                                 <li class=""><a href="module_substitute.html" title="substitute">substitute</a></li>
       
  1561                                 <li class=""><a href="module_test.html" title="test">test</a></li>
       
  1562                                 <li class=""><a href="module_widget.html" title="widget">widget</a></li>
       
  1563                                 <li class=""><a href="module_widget-position.html" title="widget-position">widget-position</a></li>
       
  1564                                 <li class=""><a href="module_widget-position-ext.html" title="widget-position-ext">widget-position-ext</a></li>
       
  1565                                 <li class=""><a href="module_widget-stack.html" title="widget-stack">widget-stack</a></li>
       
  1566                                 <li class=""><a href="module_widget-stdmod.html" title="widget-stdmod">widget-stdmod</a></li>
       
  1567                                 <li class=""><a href="module_yui.html" title="yui">yui</a></li>
       
  1568                         </ul>
       
  1569                     </div>
       
  1570 
       
  1571                     <div id="classList" class="module">
       
  1572                         <h4>Classes</h4>
       
  1573                         <ul class="content">
       
  1574                                 <li class=""><a href="Console.html" title="Console">Console</a></li>
       
  1575                         </ul>
       
  1576                     </div>
       
  1577 
       
  1578                     <div id="fileList" class="module">
       
  1579                         <h4>Files</h4>
       
  1580                         <ul class="content">        
       
  1581                                 <li class="selected"><a href="console.js.html" title="console.js">console.js</a></li>
       
  1582                         </ul>
       
  1583                     </div>
       
  1584 
       
  1585 
       
  1586 
       
  1587 
       
  1588 
       
  1589             </div>
       
  1590 		</div>
       
  1591 	</div>
       
  1592 	<div id="ft">
       
  1593         <hr />
       
  1594         Copyright &copy; 2009 Yahoo! Inc. All rights reserved.
       
  1595 	</div>
       
  1596 </div>
       
  1597 <script type="text/javascript">
       
  1598     ALL_YUI_PROPS = [{"access": "protected", "host": "Console", "name": "_afterCollapsedChange", "url": "Console.html#method__afterCollapsedChange", "type": "method"}, {"access": "protected", "host": "Console", "name": "_afterConsoleLimitChange", "url": "Console.html#method__afterConsoleLimitChange", "type": "method"}, {"access": "protected", "host": "Console", "name": "_afterPausedChange", "url": "Console.html#method__afterPausedChange", "type": "method"}, {"access": "protected", "host": "Console", "name": "_afterStringsChange", "url": "Console.html#method__afterStringsChange", "type": "method"}, {"access": "protected", "host": "Console", "name": "_afterVisibleChange", "url": "Console.html#method__afterVisibleChange", "type": "method"}, {"access": "protected", "host": "Console", "name": "bindUI", "url": "Console.html#method_bindUI", "type": "method"}, {"access": "protected", "host": "Console", "name": "_body", "url": "Console.html#property__body", "type": "property"}, {"access": "protected", "host": "Console", "name": "buffer", "url": "Console.html#property_buffer", "type": "property"}, {"access": "protected", "host": "Console", "name": "_cancelPrintLoop", "url": "Console.html#method__cancelPrintLoop", "type": "method"}, {"access": "", "host": "Console", "name": "clearConsole", "url": "Console.html#method_clearConsole", "type": "method"}, {"access": "", "host": "Console", "name": "collapse", "url": "Console.html#method_collapse", "type": "method"}, {"access": "", "host": "Console", "name": "collapsed", "url": "Console.html#config_collapsed", "type": "config"}, {"access": "", "host": "Console", "name": "collapsedChange", "url": "Console.html#event_collapsedChange", "type": "event"}, {"access": "", "host": "Console", "name": "Console.ATTRS", "url": "Console.html#property_Console.ATTRS", "type": "property"}, {"access": "", "host": "Console", "name": "Console.BODY_TEMPLATE", "url": "Console.html#property_Console.BODY_TEMPLATE", "type": "property"}, {"access": "", "host": "Console", "name": "Console.CHROME_CLASSES", "url": "Console.html#property_Console.CHROME_CLASSES", "type": "property"}, {"access": "", "host": "Console", "name": "Console.ENTRY_CLASSES", "url": "Console.html#property_Console.ENTRY_CLASSES", "type": "property"}, {"access": "", "host": "Console", "name": "Console.ENTRY_TEMPLATE", "url": "Console.html#property_Console.ENTRY_TEMPLATE", "type": "property"}, {"access": "", "host": "Console", "name": "Console.FOOTER_TEMPLATE", "url": "Console.html#property_Console.FOOTER_TEMPLATE", "type": "property"}, {"access": "", "host": "Console", "name": "Console.HEADER_TEMPLATE", "url": "Console.html#property_Console.HEADER_TEMPLATE", "type": "property"}, {"access": "", "host": "Console", "name": "consoleLimit", "url": "Console.html#config_consoleLimit", "type": "config"}, {"access": "", "host": "Console", "name": "consoleLimitChange", "url": "Console.html#event_consoleLimitChange", "type": "event"}, {"access": "", "host": "Console", "name": "Console.LOG_LEVEL_ERROR", "url": "Console.html#property_Console.LOG_LEVEL_ERROR", "type": "property"}, {"access": "", "host": "Console", "name": "Console.LOG_LEVEL_INFO", "url": "Console.html#property_Console.LOG_LEVEL_INFO", "type": "property"}, {"access": "", "host": "Console", "name": "Console.LOG_LEVEL_WARN", "url": "Console.html#property_Console.LOG_LEVEL_WARN", "type": "property"}, {"access": "", "host": "Console", "name": "Console.NAME", "url": "Console.html#property_Console.NAME", "type": "property"}, {"access": "protected", "host": "Console", "name": "_createEntryHTML", "url": "Console.html#method__createEntryHTML", "type": "method"}, {"access": "", "host": "Console", "name": "defaultCategory", "url": "Console.html#config_defaultCategory", "type": "config"}, {"access": "", "host": "Console", "name": "defaultCategoryChange", "url": "Console.html#event_defaultCategoryChange", "type": "event"}, {"access": "", "host": "Console", "name": "defaultSource", "url": "Console.html#config_defaultSource", "type": "config"}, {"access": "", "host": "Console", "name": "defaultSourceChange", "url": "Console.html#event_defaultSourceChange", "type": "event"}, {"access": "protected", "host": "Console", "name": "_defEntryFn", "url": "Console.html#method__defEntryFn", "type": "method"}, {"access": "protected", "host": "Console", "name": "_defResetFn", "url": "Console.html#method__defResetFn", "type": "method"}, {"access": "protected", "host": "Console", "name": "destructor", "url": "Console.html#method_destructor", "type": "method"}, {"access": "protected", "host": "Console", "name": "_encodeHTML", "url": "Console.html#method__encodeHTML", "type": "method"}, {"access": "", "host": "Console", "name": "entry", "url": "Console.html#event_entry", "type": "event"}, {"access": "", "host": "Console", "name": "entryTemplate", "url": "Console.html#config_entryTemplate", "type": "config"}, {"access": "", "host": "Console", "name": "entryTemplateChange", "url": "Console.html#event_entryTemplateChange", "type": "event"}, {"access": "protected", "host": "Console", "name": "_evtCat", "url": "Console.html#property__evtCat", "type": "property"}, {"access": "", "host": "Console", "name": "expand", "url": "Console.html#method_expand", "type": "method"}, {"access": "protected", "host": "Console", "name": "_foot", "url": "Console.html#property__foot", "type": "property"}, {"access": "protected", "host": "Console", "name": "_head", "url": "Console.html#property__head", "type": "property"}, {"access": "", "host": "Console", "name": "height", "url": "Console.html#config_height", "type": "config"}, {"access": "", "host": "Console", "name": "heightChange", "url": "Console.html#event_heightChange", "type": "event"}, {"access": "protected", "host": "Console", "name": "_htmlEscapeMessage", "url": "Console.html#method__htmlEscapeMessage", "type": "method"}, {"access": "protected", "host": "Console", "name": "_initBody", "url": "Console.html#method__initBody", "type": "method"}, {"access": "protected", "host": "Console", "name": "_initFoot", "url": "Console.html#method__initFoot", "type": "method"}, {"access": "protected", "host": "Console", "name": "_initHead", "url": "Console.html#method__initHead", "type": "method"}, {"access": "protected", "host": "Console", "name": "initializer", "url": "Console.html#method_initializer", "type": "method"}, {"access": "protected", "host": "Console", "name": "_isInLogLevel", "url": "Console.html#method__isInLogLevel", "type": "method"}, {"access": "", "host": "Console", "name": "lastTime", "url": "Console.html#config_lastTime", "type": "config"}, {"access": "", "host": "Console", "name": "lastTimeChange", "url": "Console.html#event_lastTimeChange", "type": "event"}, {"access": "", "host": "Console", "name": "log", "url": "Console.html#method_log", "type": "method"}, {"access": "", "host": "Console", "name": "logEvent", "url": "Console.html#config_logEvent", "type": "config"}, {"access": "", "host": "Console", "name": "logEventChange", "url": "Console.html#event_logEventChange", "type": "event"}, {"access": "", "host": "Console", "name": "logLevel", "url": "Console.html#config_logLevel", "type": "config"}, {"access": "", "host": "Console", "name": "logLevelChange", "url": "Console.html#event_logLevelChange", "type": "event"}, {"access": "", "host": "Console", "name": "logSource", "url": "Console.html#config_logSource", "type": "config"}, {"access": "", "host": "Console", "name": "logSourceChange", "url": "Console.html#event_logSourceChange", "type": "event"}, {"access": "", "host": "Console", "name": "newestOnTop", "url": "Console.html#config_newestOnTop", "type": "config"}, {"access": "", "host": "Console", "name": "newestOnTopChange", "url": "Console.html#event_newestOnTopChange", "type": "event"}, {"access": "protected", "host": "Console", "name": "_normalizeMessage", "url": "Console.html#method__normalizeMessage", "type": "method"}, {"access": "protected", "host": "Console", "name": "_onClearClick", "url": "Console.html#method__onClearClick", "type": "method"}, {"access": "protected", "host": "Console", "name": "_onCollapseClick", "url": "Console.html#method__onCollapseClick", "type": "method"}, {"access": "protected", "host": "Console", "name": "_onLogEvent", "url": "Console.html#method__onLogEvent", "type": "method"}, {"access": "protected", "host": "Console", "name": "_onPauseClick", "url": "Console.html#method__onPauseClick", "type": "method"}, {"access": "", "host": "Console", "name": "paused", "url": "Console.html#config_paused", "type": "config"}, {"access": "", "host": "Console", "name": "pausedChange", "url": "Console.html#event_pausedChange", "type": "event"}, {"access": "", "host": "Console", "name": "printBuffer", "url": "Console.html#method_printBuffer", "type": "method"}, {"access": "", "host": "Console", "name": "printLimit", "url": "Console.html#config_printLimit", "type": "config"}, {"access": "", "host": "Console", "name": "printLimitChange", "url": "Console.html#event_printLimitChange", "type": "event"}, {"access": "protected", "host": "Console", "name": "_printLoop", "url": "Console.html#property__printLoop", "type": "property"}, {"access": "", "host": "Console", "name": "printTimeout", "url": "Console.html#config_printTimeout", "type": "config"}, {"access": "", "host": "Console", "name": "printTimeoutChange", "url": "Console.html#event_printTimeoutChange", "type": "event"}, {"access": "protected", "host": "Console", "name": "renderUI", "url": "Console.html#method_renderUI", "type": "method"}, {"access": "", "host": "Console", "name": "reset", "url": "Console.html#method_reset", "type": "method"}, {"access": "", "host": "Console", "name": "reset", "url": "Console.html#event_reset", "type": "event"}, {"access": "protected", "host": "Console", "name": "_schedulePrint", "url": "Console.html#method__schedulePrint", "type": "method"}, {"access": "", "host": "Console", "name": "scrollIntoView", "url": "Console.html#config_scrollIntoView", "type": "config"}, {"access": "", "host": "Console", "name": "scrollIntoViewChange", "url": "Console.html#event_scrollIntoViewChange", "type": "event"}, {"access": "", "host": "Console", "name": "scrollToLatest", "url": "Console.html#method_scrollToLatest", "type": "method"}, {"access": "protected", "host": "Console", "name": "_setLogLevel", "url": "Console.html#method__setLogLevel", "type": "method"}, {"access": "", "host": "Console", "name": "startTime", "url": "Console.html#config_startTime", "type": "config"}, {"access": "", "host": "Console", "name": "startTimeChange", "url": "Console.html#event_startTimeChange", "type": "event"}, {"access": "", "host": "Console", "name": "strings", "url": "Console.html#config_strings", "type": "config"}, {"access": "", "host": "Console", "name": "stringsChange", "url": "Console.html#event_stringsChange", "type": "event"}, {"access": "", "host": "Console", "name": "style", "url": "Console.html#config_style", "type": "config"}, {"access": "", "host": "Console", "name": "styleChange", "url": "Console.html#event_styleChange", "type": "event"}, {"access": "", "host": "Console", "name": "syncUI", "url": "Console.html#method_syncUI", "type": "method"}, {"access": "protected", "host": "Console", "name": "_trimOldEntries", "url": "Console.html#method__trimOldEntries", "type": "method"}, {"access": "protected", "host": "Console", "name": "_uiSetHeight", "url": "Console.html#method__uiSetHeight", "type": "method"}, {"access": "protected", "host": "Console", "name": "_uiUpdateCollapsed", "url": "Console.html#method__uiUpdateCollapsed", "type": "method"}, {"access": "protected", "host": "Console", "name": "_uiUpdateFromHideShow", "url": "Console.html#method__uiUpdateFromHideShow", "type": "method"}, {"access": "protected", "host": "Console", "name": "_uiUpdatePaused", "url": "Console.html#method__uiUpdatePaused", "type": "method"}, {"access": "", "host": "Console", "name": "useBrowserConsole", "url": "Console.html#config_useBrowserConsole", "type": "config"}, {"access": "", "host": "Console", "name": "useBrowserConsoleChange", "url": "Console.html#event_useBrowserConsoleChange", "type": "event"}, {"access": "protected", "host": "Console", "name": "_validateStyle", "url": "Console.html#method__validateStyle", "type": "method"}, {"access": "", "host": "Console", "name": "width", "url": "Console.html#config_width", "type": "config"}, {"access": "", "host": "Console", "name": "widthChange", "url": "Console.html#event_widthChange", "type": "event"}];
       
  1599 </script>
       
  1600 </body>
       
  1601 </html>