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