data tables are going to need some work yet, but the other stuff seems to be working 100%
1364 lines
156 KiB
HTML
1364 lines
156 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
<html>
|
|
<head>
|
|
<title>API: profilerviewer profilerviewer.js (YUI Library)</title>
|
|
<link rel="stylesheet" type="text/css" href="assets/api.css">
|
|
<script type="text/javascript" src="assets/api-js"></script>
|
|
<script type="text/javascript" src="assets/ac-js"></script>
|
|
</head>
|
|
|
|
<body id="yahoo-com">
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
|
|
<div id="hd">
|
|
<a href="http://developer.yahoo.com/yui/"><h1>Yahoo! UI Library</h1></a>
|
|
<h3>profilerviewer <span class="subtitle">2.6.0</span></h3>
|
|
<p>
|
|
<a href="./index.html">Yahoo! UI Library</a>
|
|
> <a href="./module_profilerviewer.html">profilerviewer</a>
|
|
|
|
> profilerviewer.js (source view)
|
|
</p>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
<form name="yui-classopts-form">
|
|
<span id="classopts"><input type="checkbox" name="showprivate" id="showprivate" /> <label for="showprivate">Show Private</label></span>
|
|
<span id="classopts"><input type="checkbox" name="showprotected" id="showprotected" /> <label for="showprotected">Show Protected</label></span>
|
|
<span id="classopts"><input type="checkbox" name="showdeprecated" id="showdeprecated" /> <label for="showdeprecated">Show Deprecated</label></span>
|
|
</form>
|
|
|
|
<div id="srcout">
|
|
<style>
|
|
#doc3 #classopts { display:none; }
|
|
</style>
|
|
<div class="highlight" ><pre><span class="o">(</span><span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The ProfilerViewer module provides a graphical display for viewing</span>
|
|
<span class="c"> * the output of the YUI Profiler <http://developer.yahoo.com/yui/profiler>.</span>
|
|
<span class="c"> * @module profilerviewer</span>
|
|
<span class="c"> * @requires yahoo, dom, event, element, profiler, yuiloader</span>
|
|
<span class="c"> */</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * A widget to view YUI Profiler output.</span>
|
|
<span class="c"> * @namespace YAHOO.widget</span>
|
|
<span class="c"> * @class ProfilerViewer</span>
|
|
<span class="c"> * @extends YAHOO.util.Element</span>
|
|
<span class="c"> * @constructor</span>
|
|
<span class="c"> * @param {HTMLElement | String | Object} el(optional) The html </span>
|
|
<span class="c"> * element into which the ProfileViewer should be rendered. </span>
|
|
<span class="c"> * An element will be created if none provided.</span>
|
|
<span class="c"> * @param {Object} attr (optional) A key map of the ProfilerViewer's </span>
|
|
<span class="c"> * initial attributes. Ignored if first arg is an attributes object.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">ProfilerViewer</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="nx">attr</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">attr</span> <span class="o">=</span> <span class="nx">attr</span> <span class="o">||</span> <span class="o">{};</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">arguments</span><span class="o">.</span><span class="nx">length</span> <span class="o">==</span> <span class="m">1</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">el</span><span class="o">)</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">el</span><span class="o">.</span><span class="nx">nodeName</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">attr</span> <span class="o">=</span> <span class="nx">el</span><span class="o">;</span>
|
|
<span class="nx">el</span> <span class="o">=</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">element</span> <span class="o">||</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">el</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">attr</span><span class="o">.</span><span class="nx">element</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">el</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_createProfilerViewerElement</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">ProfilerViewer</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">constructor</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">el</span><span class="o">,</span> <span class="nx">attr</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_init</span><span class="o">();</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"ProfilerViewer instantiated."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">extend</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">ProfilerViewer</span><span class="o">,</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Element</span><span class="o">);</span>
|
|
|
|
<span class="c">// Static members of YAHOO.widget.ProfilerViewer:</span>
|
|
<span class="c"></span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">augmentObject</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">ProfilerViewer</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Classname for ProfilerViewer containing element.</span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property CLASS</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default "yui-pv"</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CLASS</span><span class="o">:</span> <span class="s1">'yui-pv'</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Classname for ProfilerViewer button dashboard. </span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property CLASS_DASHBOARD</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default "yui-pv-dashboard"</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CLASS_DASHBOARD</span><span class="o">:</span> <span class="s1">'yui-pv-dashboard'</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Classname for the "refresh data" button. </span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property CLASS_REFRESH</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default "yui-pv-refresh"</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CLASS_REFRESH</span><span class="o">:</span> <span class="s1">'yui-pv-refresh'</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Classname for busy indicator in the dashboard. </span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property CLASS_BUSY</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default "yui-pv-busy"</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CLASS_BUSY</span><span class="o">:</span> <span class="s1">'yui-pv-busy'</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Classname for element containing the chart and chart</span>
|
|
<span class="c"> * legend elements.</span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property CLASS_CHART_CONTAINER</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default "yui-pv-chartcontainer"</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CLASS_CHART_CONTAINER</span><span class="o">:</span> <span class="s1">'yui-pv-chartcontainer'</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Classname for element containing the chart.</span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property CLASS_CHART</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default "yui-pv-chart"</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CLASS_CHART</span><span class="o">:</span> <span class="s1">'yui-pv-chart'</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Classname for element containing the chart's legend. </span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property CLASS_CHART_LEGEND</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default "yui-pv-chartlegend"</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CLASS_CHART_LEGEND</span><span class="o">:</span> <span class="s1">'yui-pv-chartlegend'</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Classname for element containing the datatable. </span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property CLASS_TABLE</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default "yui-pv-table"</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CLASS_TABLE</span><span class="o">:</span> <span class="s1">'yui-pv-table'</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Strings used in the UI.</span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property STRINGS</span>
|
|
<span class="c"> * @object</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> * @default English language strings for UI.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">STRINGS</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">title</span><span class="o">:</span> <span class="s2">"YUI Profiler (beta)"</span><span class="o">,</span>
|
|
<span class="nx">buttons</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">viewprofiler</span><span class="o">:</span> <span class="s2">"View Profiler Data"</span><span class="o">,</span>
|
|
<span class="nx">hideprofiler</span><span class="o">:</span> <span class="s2">"Hide Profiler Report"</span><span class="o">,</span>
|
|
<span class="nx">showchart</span><span class="o">:</span> <span class="s2">"Show Chart"</span><span class="o">,</span>
|
|
<span class="nx">hidechart</span><span class="o">:</span> <span class="s2">"Hide Chart"</span><span class="o">,</span>
|
|
<span class="nx">refreshdata</span><span class="o">:</span> <span class="s2">"Refresh Data"</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">colHeads</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="c">//key: [column head label, width in pixels]</span>
|
|
<span class="c"></span> <span class="nx">fn</span><span class="o">:</span> <span class="o">[</span><span class="s2">"Function/Method"</span><span class="o">,</span> <span class="kc">null</span><span class="o">],</span> <span class="c">//must auto-size</span>
|
|
<span class="c"></span> <span class="nx">calls</span><span class="o">:</span> <span class="o">[</span><span class="s2">"Calls"</span><span class="o">,</span> <span class="m">40</span><span class="o">],</span>
|
|
<span class="nx">avg</span><span class="o">:</span> <span class="o">[</span><span class="s2">"Average"</span><span class="o">,</span> <span class="m">70</span><span class="o">],</span>
|
|
<span class="nx">min</span><span class="o">:</span> <span class="o">[</span><span class="s2">"Shortest"</span><span class="o">,</span> <span class="m">70</span><span class="o">],</span>
|
|
<span class="nx">max</span><span class="o">:</span> <span class="o">[</span><span class="s2">"Longest"</span><span class="o">,</span> <span class="m">70</span><span class="o">],</span>
|
|
<span class="nx">total</span><span class="o">:</span> <span class="o">[</span><span class="s2">"Total Time"</span><span class="o">,</span> <span class="m">70</span><span class="o">],</span>
|
|
<span class="nx">pct</span><span class="o">:</span> <span class="o">[</span><span class="s2">"Percent"</span><span class="o">,</span> <span class="m">70</span><span class="o">]</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">millisecondsAbbrev</span><span class="o">:</span> <span class="s2">"ms"</span><span class="o">,</span>
|
|
<span class="nx">initMessage</span><span class="o">:</span> <span class="s2">"initialiazing chart..."</span><span class="o">,</span>
|
|
<span class="nx">installFlashMessage</span><span class="o">:</span> <span class="s2">"Unable to load Flash content. The YUI Charts Control requires Flash Player 9.0.45 or higher. You can download the latest version of Flash Player from the <a href='http://www.adobe.com/go/getflashplayer'>Adobe Flash Player Download Center</a>."</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Function used to format numbers in milliseconds</span>
|
|
<span class="c"> * for chart; must be publicly accessible, per Charts spec.</span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property timeAxisLabelFunction</span>
|
|
<span class="c"> * @type function</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">timeAxisLabelFunction</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">n</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="o">(</span><span class="nx">n</span> <span class="o">===</span> <span class="nb">Math</span><span class="o">.</span><span class="nx">floor</span><span class="o">(</span><span class="nx">n</span><span class="o">))</span> <span class="o">?</span> <span class="nx">n</span> <span class="o">:</span> <span class="o">(</span><span class="nb">Math</span><span class="o">.</span><span class="nx">round</span><span class="o">(</span><span class="nx">n</span><span class="o">*</span><span class="m">1000</span><span class="o">))/</span><span class="m">1000</span><span class="o">;</span>
|
|
<span class="k">return</span> <span class="o">(</span><span class="nx">a</span> <span class="o">+</span> <span class="s2">" "</span> <span class="o">+</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">ProfilerViewer</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">millisecondsAbbrev</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Function used to format percent numbers for chart; must</span>
|
|
<span class="c"> * be publicly accessible, per Charts spec.</span>
|
|
<span class="c"> * @static</span>
|
|
<span class="c"> * @property percentAxisLabelFunction</span>
|
|
<span class="c"> * @type function</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">percentAxisLabelFunction</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">n</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="o">(</span><span class="nx">n</span> <span class="o">===</span> <span class="nb">Math</span><span class="o">.</span><span class="nx">floor</span><span class="o">(</span><span class="nx">n</span><span class="o">))</span> <span class="o">?</span> <span class="nx">n</span> <span class="o">:</span> <span class="o">(</span><span class="nb">Math</span><span class="o">.</span><span class="nx">round</span><span class="o">(</span><span class="nx">n</span><span class="o">*</span><span class="m">100</span><span class="o">))/</span><span class="m">100</span><span class="o">;</span>
|
|
<span class="k">return</span> <span class="o">(</span><span class="nx">a</span> <span class="o">+</span> <span class="s2">"%"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
|
|
<span class="o">},</span><span class="kc">true</span><span class="o">);</span>
|
|
|
|
|
|
<span class="c">//</span>
|
|
<span class="c"></span> <span class="c">// STANDARD SHORTCUTS</span>
|
|
<span class="c"></span> <span class="c">//</span>
|
|
<span class="c"></span> <span class="k">var</span> <span class="nx">Dom</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">Event</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">Profiler</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">tool</span><span class="o">.</span><span class="nx">Profiler</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">PV</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">ProfilerViewer</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">proto</span> <span class="o">=</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">prototype</span><span class="o">;</span>
|
|
|
|
|
|
<span class="c">//</span>
|
|
<span class="c"></span> <span class="c">// PUBLIC METHODS</span>
|
|
<span class="c"></span> <span class="c">//</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Refreshes the data displayed in the ProfilerViewer. When called,</span>
|
|
<span class="c"> * this will invoke a refresh of the DataTable and (if displayed)</span>
|
|
<span class="c"> * the Chart.</span>
|
|
<span class="c"> * @method refreshData</span>
|
|
<span class="c"> * @return void</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">refreshData</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Data refresh requested via refreshData method."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">fireEvent</span><span class="o">(</span><span class="s2">"dataRefreshEvent"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Returns the element containing the console's header.</span>
|
|
<span class="c"> * @method getHeadEl</span>
|
|
<span class="c"> * @return HTMLElement</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">getHeadEl</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Head element requested via getHeadEl."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span><span class="o">)</span> <span class="o">?</span> <span class="nx">Dom</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span><span class="o">)</span> <span class="o">:</span> <span class="kc">false</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Returns the element containing the console's body, including</span>
|
|
<span class="c"> * the chart and the datatable..</span>
|
|
<span class="c"> * @method getBodyEl</span>
|
|
<span class="c"> * @return HTMLElement</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">getBodyEl</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Body element requested via getBodyEl."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_bodyEl</span><span class="o">)</span> <span class="o">?</span> <span class="nx">Dom</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_bodyEl</span><span class="o">)</span> <span class="o">:</span> <span class="kc">false</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Returns the element containing the console's chart.</span>
|
|
<span class="c"> * @method getChartEl</span>
|
|
<span class="c"> * @return HTMLElement</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">getChartEl</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Chart element requested via getChartEl."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartEl</span><span class="o">)</span> <span class="o">?</span> <span class="nx">Dom</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartEl</span><span class="o">)</span> <span class="o">:</span> <span class="kc">false</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Returns the element containing the console's dataTable.</span>
|
|
<span class="c"> * @method getTableEl</span>
|
|
<span class="c"> * @return HTMLElement</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">getTableEl</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"DataTable element requested via getTableEl."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_tableEl</span><span class="o">)</span> <span class="o">?</span> <span class="nx">Dom</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_tableEl</span><span class="o">)</span> <span class="o">:</span> <span class="kc">false</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Returns the element containing the console's DataTable</span>
|
|
<span class="c"> * instance.</span>
|
|
<span class="c"> * @method getDataTable</span>
|
|
<span class="c"> * @return YAHOO.widget.DataTable</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">getDataTable</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"DataTable instance requested via getDataTable."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Returns the element containing the console's Chart instance.</span>
|
|
<span class="c"> * @method getChart</span>
|
|
<span class="c"> * @return YAHOO.widget.BarChart</span>
|
|
<span class="c"> * @public</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">getChart</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Chart instance requested via getChart."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_chart</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
|
|
<span class="c">//</span>
|
|
<span class="c"></span> <span class="c">// PRIVATE PROPERTIES</span>
|
|
<span class="c"></span> <span class="c">//</span>
|
|
<span class="c"></span> <span class="nx">proto</span><span class="o">.</span><span class="nx">_rendered</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_headEl</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_bodyEl</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_toggleVisibleEl</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_busyEl</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_busy</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
|
|
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_tableEl</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_dataTable</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_chartEl</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_chartLegendEl</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_chartElHeight</span> <span class="o">=</span> <span class="m">250</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_chart</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_chartInitialized</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
|
|
|
|
<span class="c">//</span>
|
|
<span class="c"></span> <span class="c">// PRIVATE METHODS</span>
|
|
<span class="c"></span> <span class="c">//</span>
|
|
<span class="c"></span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_init</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * CUSTOM EVENTS</span>
|
|
<span class="c"> **/</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired when a data refresh is requested. No arguments are passed</span>
|
|
<span class="c"> * with this event.</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * @event refreshDataEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">createEvent</span><span class="o">(</span><span class="s2">"dataRefreshEvent"</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired when the viewer canvas first renders. No arguments are passed</span>
|
|
<span class="c"> * with this event.</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * @event renderEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">createEvent</span><span class="o">(</span><span class="s2">"renderEvent"</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="s2">"dataRefreshEvent"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_refreshDataTable</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_initLauncherDOM</span><span class="o">();</span>
|
|
|
|
<span class="k">if</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"showChart"</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="s2">"sortedByChange"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_refreshChart</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"ProfilerViewer instance initialization complete."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * If no element is passed in, create it as the first element</span>
|
|
<span class="c"> * in the document.</span>
|
|
<span class="c"> * @method _createProfilerViewerElement</span>
|
|
<span class="c"> * @return HTMLElement</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_createProfilerViewerElement</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Creating root element..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
<span class="nb">document</span><span class="o">.</span><span class="nx">body</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="nb">document</span><span class="o">.</span><span class="nx">body</span><span class="o">.</span><span class="nx">firstChild</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">SKIN_CLASS</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS</span><span class="o">);</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="nx">el</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="nx">el</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Provides a readable name for the ProfilerViewer instance.</span>
|
|
<span class="c"> * @method toString</span>
|
|
<span class="c"> * @return String</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">toString</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="s2">"ProfilerViewer "</span> <span class="o">+</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">'id'</span><span class="o">)</span> <span class="o">||</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">'tagName'</span><span class="o">));</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Toggles visibility of the viewer canvas.</span>
|
|
<span class="c"> * @method _toggleVisible</span>
|
|
<span class="c"> * @return void</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_toggleVisible</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Toggling visibility to "</span> <span class="o">+</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"visible"</span><span class="o">)</span> <span class="o">+</span> <span class="s2">"."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">newVis</span> <span class="o">=</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"visible"</span><span class="o">))</span> <span class="o">?</span> <span class="kc">false</span> <span class="o">:</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s2">"visible"</span><span class="o">,</span> <span class="nx">newVis</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Shows the viewer canvas.</span>
|
|
<span class="c"> * @method show</span>
|
|
<span class="c"> * @return void</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_show</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_setBusyState</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">if</span><span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">_rendered</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">loader</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">YUILoader</span><span class="o">();</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"base"</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">loader</span><span class="o">.</span><span class="nx">base</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"base"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">var</span> <span class="nx">modules</span> <span class="o">=</span> <span class="o">[</span><span class="s2">"datatable"</span><span class="o">];</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"showChart"</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">modules</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="s2">"charts"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">loader</span><span class="o">.</span><span class="nx">insert</span><span class="o">({</span> <span class="nx">require</span><span class="o">:</span> <span class="nx">modules</span><span class="o">,</span>
|
|
<span class="nx">onSuccess</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_render</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">scope</span><span class="o">:</span> <span class="k">this</span><span class="o">});</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"element"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="s2">"yui-pv-minimized"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_toggleVisibleEl</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">buttons</span><span class="o">.</span><span class="nx">hideprofiler</span><span class="o">;</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="s2">"yui-pv-null"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="s2">"yui-pv-null"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">refreshData</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Hides the viewer canvas.</span>
|
|
<span class="c"> * @method hide</span>
|
|
<span class="c"> * @return void</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_hide</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_toggleVisibleEl</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">buttons</span><span class="o">.</span><span class="nx">viewprofiler</span><span class="o">;</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"element"</span><span class="o">),</span> <span class="s2">"yui-pv-minimized"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Render the viewer canvas</span>
|
|
<span class="c"> * @method _render</span>
|
|
<span class="c"> * @return void</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_render</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Beginning to render ProfilerViewer canvas..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"element"</span><span class="o">),</span> <span class="s2">"yui-pv-minimized"</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_initViewerDOM</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_initDataTable</span><span class="o">();</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"showChart"</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_initChartDOM</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_initChart</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_rendered</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_toggleVisibleEl</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">buttons</span><span class="o">.</span><span class="nx">hideprofiler</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">fireEvent</span><span class="o">(</span><span class="s2">"renderEvent"</span><span class="o">);</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"ProfilerViewer rendering complete..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Set up the DOM structure for the ProfilerViewer launcher.</span>
|
|
<span class="c"> * @method _initLauncherDOM</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_initLauncherDOM</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Creating the launcher..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"element"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="s2">"yui-pv-minimized"</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span><span class="o">,</span> <span class="s2">"hd"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">s</span> <span class="o">=</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">buttons</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">b</span> <span class="o">=</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"visible"</span><span class="o">))</span> <span class="o">?</span> <span class="nx">s</span><span class="o">.</span><span class="nx">hideprofiler</span> <span class="o">:</span> <span class="nx">s</span><span class="o">.</span><span class="nx">viewprofiler</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_toggleVisibleEl</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_createButton</span><span class="o">(</span><span class="nx">b</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_refreshEl</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_createButton</span><span class="o">(</span><span class="nx">s</span><span class="o">.</span><span class="nx">refreshdata</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_refreshEl</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS_REFRESH</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_busyEl</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"span"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_busyEl</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">title</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"h4"</span><span class="o">);</span>
|
|
<span class="nx">title</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">title</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">title</span><span class="o">);</span>
|
|
|
|
<span class="nx">el</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_headEl</span><span class="o">);</span>
|
|
|
|
<span class="nx">Event</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_toggleVisibleEl</span><span class="o">,</span> <span class="s2">"click"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_toggleVisible</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="nx">Event</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_refreshEl</span><span class="o">,</span> <span class="s2">"click"</span><span class="o">,</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">if</span><span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">_busy</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_setBusyState</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">fireEvent</span><span class="o">(</span><span class="s2">"dataRefreshEvent"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Set up the DOM structure for the ProfilerViewer canvas,</span>
|
|
<span class="c"> * including the holder for the DataTable.</span>
|
|
<span class="c"> * @method _initViewerDOM</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_initViewerDOM</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Creating DOM structure for viewer..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"element"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_bodyEl</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_bodyEl</span><span class="o">,</span> <span class="s2">"bd"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_tableEl</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_tableEl</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS_TABLE</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_bodyEl</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_tableEl</span><span class="o">);</span>
|
|
<span class="nx">el</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_bodyEl</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Set up the DOM structure for the ProfilerViewer canvas.</span>
|
|
<span class="c"> * @method _initChartDOM</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_initChartDOM</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Adding DOM structure for chart..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartContainer</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartContainer</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS_CHART_CONTAINER</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">chl</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">chl</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS_CHART_LEGEND</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">chw</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartLegendEl</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"dl"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartLegendEl</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s2">"<dd>"</span> <span class="o">+</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">initMessage</span> <span class="o">+</span> <span class="s2">"</dd>"</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartEl</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartEl</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS_CHART</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">msg</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"p"</span><span class="o">);</span>
|
|
<span class="nx">msg</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">installFlashMessage</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartEl</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">msg</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartContainer</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">chl</span><span class="o">);</span>
|
|
<span class="nx">chl</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">chw</span><span class="o">);</span>
|
|
<span class="nx">chw</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartLegendEl</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartContainer</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartEl</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_bodyEl</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartContainer</span><span class="o">,</span><span class="k">this</span><span class="o">.</span><span class="nx">_tableEl</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Create anchor elements for use as buttons. Args: label</span>
|
|
<span class="c"> * is text to appear on the face of the button, parentEl</span>
|
|
<span class="c"> * is the el to which the anchor will be attached, position</span>
|
|
<span class="c"> * is true for inserting as the first node and false for</span>
|
|
<span class="c"> * inserting as the last node of the parentEl.</span>
|
|
<span class="c"> * @method _createButton</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_createButton</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="k">label</span><span class="o">,</span> <span class="nx">parentEl</span><span class="o">,</span> <span class="nx">position</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">b</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"a"</span><span class="o">);</span>
|
|
<span class="nx">b</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">b</span><span class="o">.</span><span class="nx">title</span> <span class="o">=</span> <span class="k">label</span><span class="o">;</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="nx">parentEl</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span><span class="o">(!</span><span class="nx">position</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">parentEl</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">b</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">parentEl</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">(</span><span class="nx">b</span><span class="o">,</span> <span class="nx">parentEl</span><span class="o">.</span><span class="nx">firstChild</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="k">return</span> <span class="nx">b</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Set's console busy state.</span>
|
|
<span class="c"> * @method _setBusyState</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_setBusyState</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">b</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="nx">b</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_busyEl</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS_BUSY</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_busy</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_busyEl</span><span class="o">,</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">CLASS_BUSY</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_busy</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Generages a sorting function based on current sortedBy</span>
|
|
<span class="c"> * values.</span>
|
|
<span class="c"> * @method _createProfilerViewerElement</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_genSortFunction</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">key</span><span class="o">,</span> <span class="nx">dir</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">by</span> <span class="o">=</span> <span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">direction</span> <span class="o">=</span> <span class="nx">dir</span><span class="o">;</span>
|
|
<span class="k">return</span> <span class="k">function</span><span class="o">(</span><span class="nx">a</span><span class="o">,</span> <span class="nx">b</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">direction</span> <span class="o">==</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DataTable</span><span class="o">.</span><span class="nx">CLASS_ASC</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="nx">a</span><span class="o">[</span><span class="nx">by</span><span class="o">]</span> <span class="o">-</span> <span class="nx">b</span><span class="o">[</span><span class="nx">by</span><span class="o">];</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="o">((</span><span class="nx">a</span><span class="o">[</span><span class="nx">by</span><span class="o">]</span> <span class="o">-</span> <span class="nx">b</span><span class="o">[</span><span class="nx">by</span><span class="o">])</span> <span class="o">*</span> <span class="o">-</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">};</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Utility function for array sums.</span>
|
|
<span class="c"> * @method _arraySum</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="k">var</span> <span class="nx">_arraySum</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">arr</span><span class="o">){</span>
|
|
<span class="k">var</span> <span class="nx">ct</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span>
|
|
<span class="k">for</span><span class="o">(</span><span class="k">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">arr</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">ct</span><span class="o">+=</span><span class="nx">arr</span><span class="o">[</span><span class="nx">i</span><span class="o">++]){}</span>
|
|
<span class="k">return</span> <span class="nx">ct</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Retrieves data from Profiler, filtering and sorting as needed</span>
|
|
<span class="c"> * based on current widget state. Adds calculated percentage</span>
|
|
<span class="c"> * column and function name to data returned by Profiler.</span>
|
|
<span class="c"> * @method _getProfilerData</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_getProfilerData</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Profiler data requested from function DataSource."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">obj</span> <span class="o">=</span> <span class="nx">Profiler</span><span class="o">.</span><span class="nx">getFullReport</span><span class="o">();</span>
|
|
<span class="k">var</span> <span class="nx">arr</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">var</span> <span class="nx">totalTime</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span>
|
|
<span class="k">for</span> <span class="o">(</span><span class="nx">name</span> <span class="k">in</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">obj</span><span class="o">,</span> <span class="nx">name</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">r</span> <span class="o">=</span> <span class="nx">obj</span><span class="o">[</span><span class="nx">name</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">o</span> <span class="o">=</span> <span class="o">{};</span>
|
|
<span class="nx">o</span><span class="o">.</span><span class="nx">fn</span> <span class="o">=</span> <span class="nx">name</span><span class="o">;</span> <span class="c">//add function name to record</span>
|
|
<span class="c"></span> <span class="nx">o</span><span class="o">.</span><span class="nx">points</span> <span class="o">=</span> <span class="nx">r</span><span class="o">.</span><span class="nx">points</span><span class="o">.</span><span class="nx">slice</span><span class="o">();</span> <span class="c">//copy live array</span>
|
|
<span class="c"></span> <span class="nx">o</span><span class="o">.</span><span class="nx">calls</span> <span class="o">=</span> <span class="nx">r</span><span class="o">.</span><span class="nx">calls</span><span class="o">;</span>
|
|
<span class="nx">o</span><span class="o">.</span><span class="nx">min</span> <span class="o">=</span> <span class="nx">r</span><span class="o">.</span><span class="nx">min</span><span class="o">;</span>
|
|
<span class="nx">o</span><span class="o">.</span><span class="nx">max</span> <span class="o">=</span> <span class="nx">r</span><span class="o">.</span><span class="nx">max</span><span class="o">;</span>
|
|
<span class="nx">o</span><span class="o">.</span><span class="nx">avg</span> <span class="o">=</span> <span class="nx">r</span><span class="o">.</span><span class="nx">avg</span><span class="o">;</span>
|
|
<span class="nx">o</span><span class="o">.</span><span class="nx">total</span> <span class="o">=</span> <span class="nx">_arraySum</span><span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">points</span><span class="o">);</span>
|
|
<span class="nx">o</span><span class="o">.</span><span class="nx">points</span> <span class="o">=</span> <span class="nx">r</span><span class="o">.</span><span class="nx">points</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"filter"</span><span class="o">);</span>
|
|
<span class="k">if</span><span class="o">((!</span><span class="nx">f</span><span class="o">)</span> <span class="o">||</span> <span class="o">(</span><span class="nx">f</span><span class="o">(</span><span class="nx">o</span><span class="o">)))</span> <span class="o">{</span>
|
|
<span class="nx">arr</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span>
|
|
<span class="nx">totalTime</span> <span class="o">+=</span> <span class="nx">o</span><span class="o">.</span><span class="nx">total</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="c">//add calculated percentage column</span>
|
|
<span class="c"></span> <span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="m">0</span><span class="o">,</span> <span class="nx">j</span> <span class="o">=</span> <span class="nx">arr</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">j</span><span class="o">;</span> <span class="nx">i</span><span class="o">++)</span> <span class="o">{</span>
|
|
<span class="nx">arr</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">pct</span> <span class="o">=</span> <span class="o">(</span><span class="nx">totalTime</span><span class="o">)</span> <span class="o">?</span> <span class="o">(</span><span class="nx">arr</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">total</span> <span class="o">*</span> <span class="m">100</span><span class="o">)</span> <span class="o">/</span> <span class="nx">totalTime</span> <span class="o">:</span> <span class="m">0</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">var</span> <span class="nx">sortedBy</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"sortedBy"</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">key</span> <span class="o">=</span> <span class="nx">sortedBy</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">dir</span> <span class="o">=</span> <span class="nx">sortedBy</span><span class="o">.</span><span class="nx">dir</span><span class="o">;</span>
|
|
|
|
<span class="nx">arr</span><span class="o">.</span><span class="nx">sort</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_genSortFunction</span><span class="o">(</span><span class="nx">key</span><span class="o">,</span> <span class="nx">dir</span><span class="o">));</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Returning data from DataSource: "</span> <span class="o">+</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">dump</span><span class="o">(</span><span class="nx">arr</span><span class="o">),</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">return</span> <span class="nx">arr</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Set up the DataTable.</span>
|
|
<span class="c"> * @method _initDataTable</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_initDataTable</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Creating DataTable instance..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
|
|
|
|
<span class="c">//Set up the JS Function DataSource, pulling data from</span>
|
|
<span class="c"></span> <span class="c">//the Profiler.</span>
|
|
<span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_dataSource</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">DataSource</span><span class="o">(</span>
|
|
<span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="nx">self</span><span class="o">.</span><span class="nx">_getProfilerData</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">self</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
<span class="o">{</span>
|
|
<span class="nx">responseType</span><span class="o">:</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">DataSource</span><span class="o">.</span><span class="nx">TYPE_JSARRAY</span><span class="o">,</span>
|
|
<span class="nx">maxCacheEntries</span><span class="o">:</span> <span class="m">0</span>
|
|
<span class="o">}</span>
|
|
<span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">ds</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_dataSource</span><span class="o">;</span>
|
|
|
|
<span class="nx">ds</span><span class="o">.</span><span class="nx">responseSchema</span> <span class="o">=</span>
|
|
<span class="o">{</span>
|
|
<span class="nx">fields</span><span class="o">:</span> <span class="o">[</span> <span class="s2">"fn"</span><span class="o">,</span> <span class="s2">"avg"</span><span class="o">,</span> <span class="s2">"calls"</span><span class="o">,</span> <span class="s2">"max"</span><span class="o">,</span> <span class="s2">"min"</span><span class="o">,</span> <span class="s2">"total"</span><span class="o">,</span> <span class="s2">"pct"</span><span class="o">,</span> <span class="s2">"points"</span><span class="o">]</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">//Set up the DataTable.</span>
|
|
<span class="c"></span> <span class="k">var</span> <span class="nx">formatTimeValue</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">elCell</span><span class="o">,</span> <span class="nx">oRecord</span><span class="o">,</span> <span class="nx">oColumn</span><span class="o">,</span> <span class="nx">oData</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="o">(</span><span class="nx">oData</span> <span class="o">===</span> <span class="nb">Math</span><span class="o">.</span><span class="nx">floor</span><span class="o">(</span><span class="nx">oData</span><span class="o">))</span> <span class="o">?</span> <span class="nx">oData</span> <span class="o">:</span> <span class="o">(</span><span class="nb">Math</span><span class="o">.</span><span class="nx">round</span><span class="o">(</span><span class="nx">oData</span><span class="o">*</span><span class="m">1000</span><span class="o">))/</span><span class="m">1000</span><span class="o">;</span>
|
|
<span class="nx">elCell</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">a</span> <span class="o">+</span> <span class="s2">" "</span> <span class="o">+</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">millisecondsAbbrev</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="k">var</span> <span class="nx">formatPercent</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">elCell</span><span class="o">,</span> <span class="nx">oRecord</span><span class="o">,</span> <span class="nx">oColumn</span><span class="o">,</span> <span class="nx">oData</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="o">(</span><span class="nx">oData</span> <span class="o">===</span> <span class="nb">Math</span><span class="o">.</span><span class="nx">floor</span><span class="o">(</span><span class="nx">oData</span><span class="o">))</span> <span class="o">?</span> <span class="nx">oData</span> <span class="o">:</span> <span class="o">(</span><span class="nb">Math</span><span class="o">.</span><span class="nx">round</span><span class="o">(</span><span class="nx">oData</span><span class="o">*</span><span class="m">100</span><span class="o">))/</span><span class="m">100</span><span class="o">;</span>
|
|
<span class="nx">elCell</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">a</span> <span class="o">+</span> <span class="s2">"%"</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="k">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DataTable</span><span class="o">.</span><span class="nx">CLASS_ASC</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">d</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DataTable</span><span class="o">.</span><span class="nx">CLASS_DESC</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">c</span> <span class="o">=</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">colHeads</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="nx">formatTimeValue</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">cols</span> <span class="o">=</span> <span class="o">[</span>
|
|
<span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"fn"</span><span class="o">,</span> <span class="nx">sortable</span><span class="o">:</span><span class="kc">true</span><span class="o">,</span> <span class="k">label</span><span class="o">:</span> <span class="nx">c</span><span class="o">.</span><span class="nx">fn</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">sortOptions</span><span class="o">:</span> <span class="o">{</span><span class="nx">defaultDir</span><span class="o">:</span><span class="nx">a</span><span class="o">},</span>
|
|
<span class="nx">resizeable</span><span class="o">:</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">DragDrop</span><span class="o">)</span> <span class="o">?</span> <span class="kc">true</span> <span class="o">:</span> <span class="kc">false</span><span class="o">,</span>
|
|
<span class="nx">minWidth</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">fn</span><span class="o">[</span><span class="m">1</span><span class="o">]},</span>
|
|
<span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"calls"</span><span class="o">,</span> <span class="nx">sortable</span><span class="o">:</span><span class="kc">true</span><span class="o">,</span> <span class="k">label</span><span class="o">:</span> <span class="nx">c</span><span class="o">.</span><span class="nx">calls</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">sortOptions</span><span class="o">:</span> <span class="o">{</span><span class="nx">defaultDir</span><span class="o">:</span><span class="nx">d</span><span class="o">},</span>
|
|
<span class="nx">width</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">calls</span><span class="o">[</span><span class="m">1</span><span class="o">]},</span>
|
|
<span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"avg"</span><span class="o">,</span> <span class="nx">sortable</span><span class="o">:</span><span class="kc">true</span><span class="o">,</span> <span class="k">label</span><span class="o">:</span> <span class="nx">c</span><span class="o">.</span><span class="nx">avg</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">sortOptions</span><span class="o">:</span> <span class="o">{</span><span class="nx">defaultDir</span><span class="o">:</span><span class="nx">d</span><span class="o">},</span>
|
|
<span class="nx">formatter</span><span class="o">:</span><span class="nx">f</span><span class="o">,</span>
|
|
<span class="nx">width</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">avg</span><span class="o">[</span><span class="m">1</span><span class="o">]},</span>
|
|
<span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"min"</span><span class="o">,</span> <span class="nx">sortable</span><span class="o">:</span><span class="kc">true</span><span class="o">,</span> <span class="k">label</span><span class="o">:</span> <span class="nx">c</span><span class="o">.</span><span class="nx">min</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">sortOptions</span><span class="o">:</span> <span class="o">{</span><span class="nx">defaultDir</span><span class="o">:</span><span class="nx">a</span><span class="o">},</span>
|
|
<span class="nx">formatter</span><span class="o">:</span><span class="nx">f</span><span class="o">,</span>
|
|
<span class="nx">width</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">min</span><span class="o">[</span><span class="m">1</span><span class="o">]},</span>
|
|
<span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"max"</span><span class="o">,</span> <span class="nx">sortable</span><span class="o">:</span><span class="kc">true</span><span class="o">,</span> <span class="k">label</span><span class="o">:</span> <span class="nx">c</span><span class="o">.</span><span class="nx">max</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">sortOptions</span><span class="o">:</span> <span class="o">{</span><span class="nx">defaultDir</span><span class="o">:</span><span class="nx">d</span><span class="o">},</span>
|
|
<span class="nx">formatter</span><span class="o">:</span><span class="nx">f</span><span class="o">,</span>
|
|
<span class="nx">width</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">max</span><span class="o">[</span><span class="m">1</span><span class="o">]},</span>
|
|
<span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"total"</span><span class="o">,</span> <span class="nx">sortable</span><span class="o">:</span><span class="kc">true</span><span class="o">,</span> <span class="k">label</span><span class="o">:</span> <span class="nx">c</span><span class="o">.</span><span class="nx">total</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">sortOptions</span><span class="o">:</span> <span class="o">{</span><span class="nx">defaultDir</span><span class="o">:</span><span class="nx">d</span><span class="o">},</span>
|
|
<span class="nx">formatter</span><span class="o">:</span><span class="nx">f</span><span class="o">,</span>
|
|
<span class="nx">width</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">total</span><span class="o">[</span><span class="m">1</span><span class="o">]},</span>
|
|
<span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"pct"</span><span class="o">,</span> <span class="nx">sortable</span><span class="o">:</span><span class="kc">true</span><span class="o">,</span> <span class="k">label</span><span class="o">:</span> <span class="nx">c</span><span class="o">.</span><span class="nx">pct</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">sortOptions</span><span class="o">:</span> <span class="o">{</span><span class="nx">defaultDir</span><span class="o">:</span><span class="nx">d</span><span class="o">},</span>
|
|
<span class="nx">formatter</span><span class="o">:</span><span class="nx">formatPercent</span><span class="o">,</span>
|
|
<span class="nx">width</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">pct</span><span class="o">[</span><span class="m">1</span><span class="o">]}</span>
|
|
<span class="o">];</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DataTable</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_tableEl</span><span class="o">,</span> <span class="nx">cols</span><span class="o">,</span> <span class="nx">ds</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">scrollable</span><span class="o">:</span><span class="kc">true</span><span class="o">,</span>
|
|
<span class="nx">height</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"tableHeight"</span><span class="o">),</span>
|
|
<span class="nx">initialRequest</span><span class="o">:</span><span class="kc">null</span><span class="o">,</span>
|
|
<span class="nx">sortedBy</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">key</span><span class="o">:</span> <span class="s2">"total"</span><span class="o">,</span>
|
|
<span class="nx">dir</span><span class="o">:</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DataTable</span><span class="o">.</span><span class="nx">CLASS_DESC</span>
|
|
<span class="o">}</span>
|
|
<span class="o">});</span>
|
|
<span class="k">var</span> <span class="nx">dt</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span><span class="o">;</span>
|
|
|
|
<span class="c">//Wire up DataTable events to drive the rest of the UI.</span>
|
|
<span class="c"></span> <span class="nx">dt</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="s2">"sortedByChange"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_sortedByChange</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="nx">dt</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="s2">"renderEvent"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_dataTableRenderHandler</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="nx">dt</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="s2">"initEvent"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_dataTableRenderHandler</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="nx">Event</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_tableEl</span><span class="o">.</span><span class="nx">getElementsByTagName</span><span class="o">(</span><span class="s2">"th"</span><span class="o">),</span> <span class="s2">"click"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_thClickHandler</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"DataTable initialized."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Proxy the sort event in DataTable into the ProfilerViewer</span>
|
|
<span class="c"> * attribute.</span>
|
|
<span class="c"> * @method _sortedByChange</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_sortedByChange</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Relaying DataTable sortedBy value change; new key: "</span> <span class="o">+</span> <span class="nx">o</span><span class="o">.</span><span class="nx">newValue</span><span class="o">.</span><span class="nx">key</span> <span class="o">+</span> <span class="s2">"; new direction: "</span> <span class="o">+</span> <span class="nx">o</span><span class="o">.</span><span class="nx">newValue</span><span class="o">.</span><span class="nx">dir</span> <span class="o">+</span> <span class="s2">"."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s2">"sortedBy"</span><span class="o">,</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span> <span class="nx">o</span><span class="o">.</span><span class="nx">newValue</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">dir</span><span class="o">:</span><span class="nx">o</span><span class="o">.</span><span class="nx">newValue</span><span class="o">.</span><span class="nx">dir</span><span class="o">});</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Proxy the render event in DataTable into the ProfilerViewer</span>
|
|
<span class="c"> * attribute.</span>
|
|
<span class="c"> * @method _dataTableRenderHandler</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_dataTableRenderHandler</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"DataTable's render event has fired."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_setBusyState</span><span class="o">(</span><span class="kc">false</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event handler for clicks on the DataTable's sortable column</span>
|
|
<span class="c"> * heads.</span>
|
|
<span class="c"> * @method _thClickHandler</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_thClickHandler</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"DataTable's header row was clicked for sorting."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_setBusyState</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Refresh DataTable, getting new data from Profiler.</span>
|
|
<span class="c"> * @method _refreshDataTable</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_refreshDataTable</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">args</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Beginning to refresh DataTable contents..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">dt</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span><span class="o">;</span>
|
|
<span class="nx">dt</span><span class="o">.</span><span class="nx">getDataSource</span><span class="o">().</span><span class="nx">sendRequest</span><span class="o">(</span><span class="s2">""</span><span class="o">,</span> <span class="nx">dt</span><span class="o">.</span><span class="nx">onDataReturnInitializeTable</span><span class="o">,</span> <span class="nx">dt</span><span class="o">);</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"DataTable refresh complete."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Refresh chart, getting new data from table.</span>
|
|
<span class="c"> * @method _refreshChart</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_refreshChart</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Beginning to refresh Chart contents..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="nx">switch</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"sortedBy"</span><span class="o">).</span><span class="nx">key</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">case</span> <span class="s2">"fn"</span><span class="o">:</span>
|
|
<span class="c">/*Keep the same data on the chart, but force update to </span>
|
|
<span class="c"> reflect new sort order on function/method name: */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chart</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s2">"dataSource"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_chart</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"dataSource"</span><span class="o">));</span>
|
|
|
|
<span class="c">/*no further action necessary; chart redraws*/</span>
|
|
<span class="k">return</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="s2">"calls"</span><span class="o">:</span>
|
|
<span class="c">/*Null out the xAxis formatting before redrawing chart.*/</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chart</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s2">"xAxis"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionPlain</span><span class="o">);</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="s2">"pct"</span><span class="o">:</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chart</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s2">"xAxis"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionPercent</span><span class="o">);</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">default</span><span class="o">:</span>
|
|
<span class="c">/*Set the default xAxis; redraw legend; set the new series definition.*/</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chart</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s2">"xAxis"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionTime</span><span class="o">);</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_drawChartLegend</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chart</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s2">"series"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_getSeriesDef</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"sortedBy"</span><span class="o">).</span><span class="nx">key</span><span class="o">));</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Chart refresh complete."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Get data for the Chart from DataTable recordset</span>
|
|
<span class="c"> * @method _getChartData</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_getChartData</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Getting data for chart from function DataSource."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">records</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span><span class="o">.</span><span class="nx">getRecordSet</span><span class="o">().</span><span class="nx">getRecords</span><span class="o">(</span><span class="m">0</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"maxChartFunctions"</span><span class="o">));</span>
|
|
<span class="k">var</span> <span class="nx">arr</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="nx">records</span><span class="o">.</span><span class="nx">length</span> <span class="o">-</span> <span class="m">1</span><span class="o">;</span> <span class="nx">i</span><span class="o">>-</span><span class="m">1</span><span class="o">;</span> <span class="nx">i</span><span class="o">--)</span> <span class="o">{</span>
|
|
<span class="nx">arr</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">records</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">getData</span><span class="o">());</span>
|
|
<span class="o">}</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Returning data to Chart: "</span> <span class="o">+</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">dump</span><span class="o">(</span><span class="nx">arr</span><span class="o">),</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="nx">arr</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Build series definition based on current configuration attributes.</span>
|
|
<span class="c"> * @method _getSeriesDef</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_getSeriesDef</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">field</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">sd</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"chartSeriesDefinitions"</span><span class="o">)[</span><span class="nx">field</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">arr</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">for</span><span class="o">(</span><span class="k">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="m">0</span><span class="o">,</span> <span class="nx">j</span> <span class="o">=</span> <span class="nx">sd</span><span class="o">.</span><span class="nx">group</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">j</span><span class="o">;</span> <span class="nx">i</span><span class="o">++)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">c</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"chartSeriesDefinitions"</span><span class="o">)[</span><span class="nx">sd</span><span class="o">.</span><span class="nx">group</span><span class="o">[</span><span class="nx">i</span><span class="o">]];</span>
|
|
<span class="nx">arr</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span>
|
|
<span class="o">{</span><span class="nx">displayName</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">displayName</span><span class="o">,</span>
|
|
<span class="nx">xField</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">xField</span><span class="o">,</span>
|
|
<span class="nx">style</span><span class="o">:</span> <span class="o">{</span><span class="nx">color</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">style</span><span class="o">.</span><span class="nx">color</span><span class="o">,</span> <span class="nx">size</span><span class="o">:</span><span class="nx">c</span><span class="o">.</span><span class="nx">style</span><span class="o">.</span><span class="nx">size</span><span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Returning new series definition to chart: "</span> <span class="o">+</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">dump</span><span class="o">(</span><span class="nx">arr</span><span class="o">),</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="nx">arr</span><span class="o">;</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Set up the Chart.</span>
|
|
<span class="c"> * @method _initChart</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_initChart</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Initializing chart..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_sizeChartCanvas</span><span class="o">();</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Chart</span><span class="o">.</span><span class="nx">SWFURL</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"swfUrl"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
|
|
|
|
<span class="c">//Create DataSource based on records currently displayed</span>
|
|
<span class="c"></span> <span class="c">//at the top of the sort list in the DataTable.</span>
|
|
<span class="c"></span> <span class="k">var</span> <span class="nx">ds</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">DataSource</span><span class="o">(</span>
|
|
<span class="c">//force the jsfunction DataSource to run in the scope of</span>
|
|
<span class="c"></span> <span class="c">//the ProfilerViewer, not in the YAHOO.util.DataSource scope:</span>
|
|
<span class="c"></span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="nx">self</span><span class="o">.</span><span class="nx">_getChartData</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">self</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
<span class="o">{</span>
|
|
<span class="nx">responseType</span><span class="o">:</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">DataSource</span><span class="o">.</span><span class="nx">TYPE_JSARRAY</span><span class="o">,</span>
|
|
<span class="nx">maxCacheEntries</span><span class="o">:</span> <span class="m">0</span>
|
|
<span class="o">}</span>
|
|
<span class="o">);</span>
|
|
|
|
<span class="nx">ds</span><span class="o">.</span><span class="nx">responseSchema</span> <span class="o">=</span>
|
|
<span class="o">{</span>
|
|
<span class="nx">fields</span><span class="o">:</span> <span class="o">[</span> <span class="s2">"fn"</span><span class="o">,</span> <span class="s2">"avg"</span><span class="o">,</span> <span class="s2">"calls"</span><span class="o">,</span> <span class="s2">"max"</span><span class="o">,</span> <span class="s2">"min"</span><span class="o">,</span> <span class="s2">"total"</span><span class="o">,</span> <span class="s2">"pct"</span> <span class="o">]</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="nx">ds</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="s1">'responseEvent'</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_sizeChartCanvas</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
|
|
<span class="c">//Set up the chart itself.</span>
|
|
<span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionTime</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">NumericAxis</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionTime</span><span class="o">.</span><span class="nx">labelFunction</span> <span class="o">=</span> <span class="s2">"YAHOO.widget.ProfilerViewer.timeAxisLabelFunction"</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionPercent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">NumericAxis</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionPercent</span><span class="o">.</span><span class="nx">labelFunction</span> <span class="o">=</span> <span class="s2">"YAHOO.widget.ProfilerViewer.percentAxisLabelFunction"</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionPlain</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">NumericAxis</span><span class="o">();</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chart</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">BarChart</span><span class="o">(</span> <span class="k">this</span><span class="o">.</span><span class="nx">_chartEl</span><span class="o">,</span> <span class="nx">ds</span><span class="o">,</span>
|
|
<span class="o">{</span>
|
|
<span class="nx">yField</span><span class="o">:</span> <span class="s2">"fn"</span><span class="o">,</span>
|
|
<span class="nx">series</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_getSeriesDef</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"sortedBy"</span><span class="o">).</span><span class="nx">key</span><span class="o">),</span>
|
|
<span class="nx">style</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"chartStyle"</span><span class="o">),</span>
|
|
<span class="nx">xAxis</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_chartAxisDefinitionTime</span>
|
|
<span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_drawChartLegend</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartInitialized</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span><span class="o">.</span><span class="nx">unsubscribe</span><span class="o">(</span><span class="s2">"initEvent"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_initChart</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="s2">"initEvent"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_refreshChart</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Chart initialization complete."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Set up the Chart's legend</span>
|
|
<span class="c"> * @method _drawChartLegend</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_drawChartLegend</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Drawing chart legend..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">seriesDefs</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"chartSeriesDefinitions"</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">currentDef</span> <span class="o">=</span> <span class="nx">seriesDefs</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"sortedBy"</span><span class="o">).</span><span class="nx">key</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">l</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_chartLegendEl</span><span class="o">;</span>
|
|
<span class="nx">l</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s2">""</span><span class="o">;</span>
|
|
<span class="k">for</span><span class="o">(</span><span class="k">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="m">0</span><span class="o">,</span> <span class="nx">j</span> <span class="o">=</span> <span class="nx">currentDef</span><span class="o">.</span><span class="nx">group</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">j</span><span class="o">;</span> <span class="nx">i</span><span class="o">++)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">c</span> <span class="o">=</span> <span class="nx">seriesDefs</span><span class="o">[</span><span class="nx">currentDef</span><span class="o">.</span><span class="nx">group</span><span class="o">[</span><span class="nx">i</span><span class="o">]];</span>
|
|
<span class="k">var</span> <span class="nx">dt</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"dt"</span><span class="o">);</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="nx">dt</span><span class="o">,</span> <span class="s2">"backgroundColor"</span><span class="o">,</span> <span class="s2">"#"</span> <span class="o">+</span> <span class="nx">c</span><span class="o">.</span><span class="nx">style</span><span class="o">.</span><span class="nx">color</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">dd</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"dd"</span><span class="o">);</span>
|
|
<span class="nx">dd</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">c</span><span class="o">.</span><span class="nx">displayName</span><span class="o">;</span>
|
|
<span class="nx">l</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">dt</span><span class="o">);</span>
|
|
<span class="nx">l</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">dd</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Resize the chart's canvas if based on number of records</span>
|
|
<span class="c"> * returned from the chart's datasource.</span>
|
|
<span class="c"> * @method _sizeChartCanvas</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">_sizeChartCanvas</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Resizing chart canvas..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">bars</span> <span class="o">=</span> <span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">?</span> <span class="nx">o</span><span class="o">.</span><span class="nx">response</span><span class="o">.</span><span class="nx">length</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"maxChartFunctions"</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">s</span> <span class="o">=</span> <span class="o">(</span><span class="nx">bars</span> <span class="o">*</span> <span class="m">36</span><span class="o">)</span> <span class="o">+</span> <span class="m">34</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">s</span> <span class="o">!=</span> <span class="nb">parseInt</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartElHeight</span><span class="o">,</span> <span class="m">10</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_chartElHeight</span> <span class="o">=</span> <span class="nx">s</span><span class="o">;</span>
|
|
<span class="nx">Dom</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_chartEl</span><span class="o">,</span> <span class="s2">"height"</span><span class="o">,</span> <span class="nx">s</span> <span class="o">+</span> <span class="s2">"px"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * setAttributeConfigs TabView specific properties.</span>
|
|
<span class="c"> * @method initAttributes</span>
|
|
<span class="c"> * @param {Object} attr Hash of initial attributes</span>
|
|
<span class="c"> * @method initAttributes</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">proto</span><span class="o">.</span><span class="nx">initAttributes</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">attr</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Initializing attributes..."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">ProfilerViewer</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">initAttributes</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">attr</span><span class="o">);</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The YUI Loader base path from which to pull YUI files needed</span>
|
|
<span class="c"> * in the rendering of the ProfilerViewer canvas. Passed directly</span>
|
|
<span class="c"> * to YUI Loader. Leave blank to draw files from</span>
|
|
<span class="c"> * yui.yahooapis.com.</span>
|
|
<span class="c"> * @attribute base</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @default ""</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'base'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">base</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The height of the DataTable. The table will scroll</span>
|
|
<span class="c"> * vertically if the content overflows the specified</span>
|
|
<span class="c"> * height.</span>
|
|
<span class="c"> * @attribute tableHeight</span>
|
|
<span class="c"> * @type string</span>
|
|
<span class="c"> * @default "15em"</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'tableHeight'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">tableHeight</span> <span class="o">||</span> <span class="s2">"15em"</span><span class="o">,</span>
|
|
<span class="nx">method</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_dataTable</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s2">"height"</span><span class="o">,</span> <span class="nx">s</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default column key to sort by. Valid keys are: fn, calls,</span>
|
|
<span class="c"> * avg, min, max, total. Valid dir values are: </span>
|
|
<span class="c"> * YAHOO.widget.DataTable.CLASS_ASC AND</span>
|
|
<span class="c"> * YAHOO.widget.DataTable.CLASS_DESC.</span>
|
|
<span class="c"> * @attribute sortedBy</span>
|
|
<span class="c"> * @type obj</span>
|
|
<span class="c"> * @default {key:"total", dir:"yui-dt-desc"}</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'sortedBy'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">sortedBy</span> <span class="o">||</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"total"</span><span class="o">,</span> <span class="nx">dir</span><span class="o">:</span><span class="s2">"yui-dt-desc"</span><span class="o">}</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * A filter function to use in selecting functions that will</span>
|
|
<span class="c"> * appear in the ProfilerViewer report. The function is passed</span>
|
|
<span class="c"> * a function report object and should return a boolean indicating</span>
|
|
<span class="c"> * whether that function should be included in the ProfilerViewer</span>
|
|
<span class="c"> * display. The argument is structured as follows:</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * {</span>
|
|
<span class="c"> * fn: <str function name>,</span>
|
|
<span class="c"> * calls : <n number of calls>,</span>
|
|
<span class="c"> * avg : <n average call duration>,</span>
|
|
<span class="c"> * max: <n duration of longest call>,</span>
|
|
<span class="c"> * min: <n duration of shortest call>,</span>
|
|
<span class="c"> * total: <n total time of all calls></span>
|
|
<span class="c"> * points : <array time in ms of each call></span>
|
|
<span class="c"> * }</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * For example, you would use the follwing filter function to </span>
|
|
<span class="c"> * return only functions that have been called at least once:</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * function(o) {</span>
|
|
<span class="c"> * return (o.calls > 0);</span>
|
|
<span class="c"> * }</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * @attribute filter</span>
|
|
<span class="c"> * @type function</span>
|
|
<span class="c"> * @default null</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'filter'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">filter</span> <span class="o">||</span> <span class="kc">null</span><span class="o">,</span>
|
|
<span class="nx">validator</span><span class="o">:</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isFunction</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The path to the YUI Charts swf file; must be a full URI</span>
|
|
<span class="c"> * or a path relative to the page being profiled. Changes at runtime</span>
|
|
<span class="c"> * not supported; pass this value in at instantiation.</span>
|
|
<span class="c"> * @attribute swfUrl</span>
|
|
<span class="c"> * @default "http://yui.yahooapis.com/2.5.0/build/charts/assets/charts.swf"</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'swfUrl'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">swfUrl</span> <span class="o">||</span> <span class="s2">"http://yui.yahooapis.com/2.5.0/build/charts/assets/charts.swf"</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The maximum number of functions to profile in the chart. The</span>
|
|
<span class="c"> * greater the number of functions, the greater the height of the</span>
|
|
<span class="c"> * chart canvas.</span>
|
|
<span class="c"> * height.</span>
|
|
<span class="c"> * @attribute maxChartFunctions</span>
|
|
<span class="c"> * @type int</span>
|
|
<span class="c"> * @default 6</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'maxChartFunctions'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">maxChartFunctions</span> <span class="o">||</span> <span class="m">6</span><span class="o">,</span>
|
|
<span class="nx">method</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_rendered</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_sizeChartCanvas</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">validator</span><span class="o">:</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isNumber</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The style object that defines the chart's visual presentation.</span>
|
|
<span class="c"> * Conforms to the style attribute passed to the Charts Control</span>
|
|
<span class="c"> * constructor. See Charts Control User's Guide for more information</span>
|
|
<span class="c"> * on how to format this object.</span>
|
|
<span class="c"> * @attribute chartStyle</span>
|
|
<span class="c"> * @type obj</span>
|
|
<span class="c"> * @default See JS source for default definitions.</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'chartStyle'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">chartStyle</span> <span class="o">||</span> <span class="o">{</span>
|
|
<span class="nx">font</span><span class="o">:</span>
|
|
<span class="o">{</span>
|
|
<span class="nx">name</span><span class="o">:</span> <span class="s2">"Arial"</span><span class="o">,</span>
|
|
<span class="nx">color</span><span class="o">:</span> <span class="m">0</span><span class="nx">xeeee5c</span><span class="o">,</span>
|
|
<span class="nx">size</span><span class="o">:</span> <span class="m">12</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">background</span><span class="o">:</span>
|
|
<span class="o">{</span>
|
|
<span class="nx">color</span><span class="o">:</span> <span class="s2">"6e6e63"</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">method</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_rendered</span> <span class="o">&&</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"showChart"</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_refreshChart</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The series definition information to use when charting</span>
|
|
<span class="c"> * specific fields on the chart. displayName, xField,</span>
|
|
<span class="c"> * and style members are used to construct the series</span>
|
|
<span class="c"> * definition; the "group" member is the array of fields</span>
|
|
<span class="c"> * that should be charted when the table is sorted by a</span>
|
|
<span class="c"> * given field.</span>
|
|
<span class="c"> * @attribute chartSeriesDefinitions</span>
|
|
<span class="c"> * @type obj</span>
|
|
<span class="c"> * @default See JS source for full default definitions.</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'chartSeriesDefinitions'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">chartSeriesDefinitions</span> <span class="o">||</span> <span class="o">{</span>
|
|
<span class="nx">total</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">displayName</span><span class="o">:</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">colHeads</span><span class="o">.</span><span class="nx">total</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">xField</span><span class="o">:</span> <span class="s2">"total"</span><span class="o">,</span>
|
|
<span class="nx">style</span><span class="o">:</span> <span class="o">{</span><span class="nx">color</span><span class="o">:</span><span class="s2">"CC3333"</span><span class="o">,</span> <span class="nx">size</span><span class="o">:</span><span class="m">21</span><span class="o">},</span>
|
|
<span class="nx">group</span><span class="o">:</span> <span class="o">[</span><span class="s2">"total"</span><span class="o">]</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">calls</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">displayName</span><span class="o">:</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">colHeads</span><span class="o">.</span><span class="nx">calls</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">xField</span><span class="o">:</span> <span class="s2">"calls"</span><span class="o">,</span>
|
|
<span class="nx">style</span><span class="o">:</span> <span class="o">{</span><span class="nx">color</span><span class="o">:</span><span class="s2">"A658BD"</span><span class="o">,</span> <span class="nx">size</span><span class="o">:</span><span class="m">21</span><span class="o">},</span>
|
|
<span class="nx">group</span><span class="o">:</span> <span class="o">[</span><span class="s2">"calls"</span><span class="o">]</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">avg</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">displayName</span><span class="o">:</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">colHeads</span><span class="o">.</span><span class="nx">avg</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">xField</span><span class="o">:</span> <span class="s2">"avg"</span><span class="o">,</span>
|
|
<span class="nx">style</span><span class="o">:</span> <span class="o">{</span><span class="nx">color</span><span class="o">:</span><span class="s2">"209daf"</span><span class="o">,</span> <span class="nx">size</span><span class="o">:</span><span class="m">9</span><span class="o">},</span>
|
|
<span class="nx">group</span><span class="o">:</span> <span class="o">[</span><span class="s2">"avg"</span><span class="o">,</span> <span class="s2">"min"</span><span class="o">,</span> <span class="s2">"max"</span><span class="o">]</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">min</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">displayName</span><span class="o">:</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">colHeads</span><span class="o">.</span><span class="nx">min</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">xField</span><span class="o">:</span> <span class="s2">"min"</span><span class="o">,</span>
|
|
<span class="nx">style</span><span class="o">:</span> <span class="o">{</span><span class="nx">color</span><span class="o">:</span><span class="s2">"b6ecf4"</span><span class="o">,</span> <span class="nx">size</span><span class="o">:</span><span class="m">9</span><span class="o">},</span>
|
|
<span class="nx">group</span><span class="o">:</span> <span class="o">[</span><span class="s2">"avg"</span><span class="o">,</span> <span class="s2">"min"</span><span class="o">,</span> <span class="s2">"max"</span><span class="o">]</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">max</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">displayName</span><span class="o">:</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">colHeads</span><span class="o">.</span><span class="nx">max</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">xField</span><span class="o">:</span> <span class="s2">"max"</span><span class="o">,</span>
|
|
<span class="nx">style</span><span class="o">:</span> <span class="o">{</span><span class="nx">color</span><span class="o">:</span><span class="s2">"29c7de"</span><span class="o">,</span> <span class="nx">size</span><span class="o">:</span><span class="m">9</span><span class="o">},</span>
|
|
<span class="nx">group</span><span class="o">:</span> <span class="o">[</span><span class="s2">"avg"</span><span class="o">,</span> <span class="s2">"min"</span><span class="o">,</span> <span class="s2">"max"</span><span class="o">]</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">pct</span><span class="o">:</span> <span class="o">{</span>
|
|
<span class="nx">displayName</span><span class="o">:</span> <span class="nx">PV</span><span class="o">.</span><span class="nx">STRINGS</span><span class="o">.</span><span class="nx">colHeads</span><span class="o">.</span><span class="nx">pct</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">xField</span><span class="o">:</span> <span class="s2">"pct"</span><span class="o">,</span>
|
|
<span class="nx">style</span><span class="o">:</span> <span class="o">{</span><span class="nx">color</span><span class="o">:</span><span class="s2">"bdb327"</span><span class="o">,</span> <span class="nx">size</span><span class="o">:</span><span class="m">21</span><span class="o">},</span>
|
|
<span class="nx">group</span><span class="o">:</span> <span class="o">[</span><span class="s2">"pct"</span><span class="o">]</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
<span class="nx">method</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_rendered</span> <span class="o">&&</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s2">"showChart"</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_refreshChart</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default visibility setting for the viewer canvas. If true,</span>
|
|
<span class="c"> * the viewer will load all necessary files and render itself</span>
|
|
<span class="c"> * immediately upon instantiation; otherwise, the viewer will</span>
|
|
<span class="c"> * load only minimal resources until the user toggles visibility</span>
|
|
<span class="c"> * via the UI.</span>
|
|
<span class="c"> * @attribute visible</span>
|
|
<span class="c"> * @type boolean</span>
|
|
<span class="c"> * @default false</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'visible'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">visible</span> <span class="o">||</span> <span class="kc">false</span><span class="o">,</span>
|
|
<span class="nx">validator</span><span class="o">:</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isBoolean</span><span class="o">,</span>
|
|
<span class="nx">method</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">b</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"visible setting changing to "</span> <span class="o">+</span> <span class="nx">b</span><span class="o">);</span>
|
|
<span class="k">if</span><span class="o">(</span><span class="nx">b</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_show</span><span class="o">();</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_rendered</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_hide</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">});</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default visibility setting for the chart.</span>
|
|
<span class="c"> * @attribute showChart</span>
|
|
<span class="c"> * @type boolean</span>
|
|
<span class="c"> * @default true</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setAttributeConfig</span><span class="o">(</span><span class="s1">'showChart'</span><span class="o">,</span> <span class="o">{</span>
|
|
<span class="nx">value</span><span class="o">:</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">showChart</span> <span class="o">||</span> <span class="kc">true</span><span class="o">,</span>
|
|
<span class="nx">validator</span><span class="o">:</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isBoolean</span><span class="o">,</span>
|
|
<span class="nx">writeOnce</span><span class="o">:</span> <span class="kc">true</span>
|
|
|
|
<span class="o">});</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">ProfilerViewer</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">initAttributes</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">attr</span><span class="o">);</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Attributes initialized."</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"ProfilerViewer"</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="o">})();</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
<div class="nav">
|
|
|
|
<div class="module">
|
|
<h4>Modules</h4>
|
|
<ul class="content">
|
|
|
|
<li class=""><a href="module_animation.html">animation</a></li>
|
|
|
|
<li class=""><a href="module_autocomplete.html">autocomplete</a></li>
|
|
|
|
<li class=""><a href="module_button.html">button</a></li>
|
|
|
|
<li class=""><a href="module_calendar.html">calendar</a></li>
|
|
|
|
<li class=""><a href="module_carousel.html">carousel</a></li>
|
|
|
|
<li class=""><a href="module_charts.html">charts</a></li>
|
|
|
|
<li class=""><a href="module_colorpicker.html">colorpicker</a></li>
|
|
|
|
<li class=""><a href="module_connection.html">connection</a></li>
|
|
|
|
<li class=""><a href="module_container.html">container</a></li>
|
|
|
|
<li class=""><a href="module_cookie.html">cookie</a></li>
|
|
|
|
<li class=""><a href="module_datasource.html">datasource</a></li>
|
|
|
|
<li class=""><a href="module_datatable.html">datatable</a></li>
|
|
|
|
<li class=""><a href="module_dom.html">dom</a></li>
|
|
|
|
<li class=""><a href="module_dragdrop.html">dragdrop</a></li>
|
|
|
|
<li class=""><a href="module_editor.html">editor</a></li>
|
|
|
|
<li class=""><a href="module_element.html">element</a></li>
|
|
|
|
<li class=""><a href="module_event.html">event</a></li>
|
|
|
|
<li class=""><a href="module_get.html">get</a></li>
|
|
|
|
<li class=""><a href="module_history.html">history</a></li>
|
|
|
|
<li class=""><a href="module_imagecropper.html">imagecropper</a></li>
|
|
|
|
<li class=""><a href="module_imageloader.html">imageloader</a></li>
|
|
|
|
<li class=""><a href="module_json.html">json</a></li>
|
|
|
|
<li class=""><a href="module_layout.html">layout</a></li>
|
|
|
|
<li class=""><a href="module_logger.html">logger</a></li>
|
|
|
|
<li class=""><a href="module_menu.html">menu</a></li>
|
|
|
|
<li class=""><a href="module_paginator.html">paginator</a></li>
|
|
|
|
<li class=""><a href="module_profiler.html">profiler</a></li>
|
|
|
|
<li class="selected"><a href="module_profilerviewer.html">profilerviewer</a></li>
|
|
|
|
<li class=""><a href="module_resize.html">resize</a></li>
|
|
|
|
<li class=""><a href="module_selector.html">selector</a></li>
|
|
|
|
<li class=""><a href="module_slider.html">slider</a></li>
|
|
|
|
<li class=""><a href="module_tabview.html">tabview</a></li>
|
|
|
|
<li class=""><a href="module_treeview.html">treeview</a></li>
|
|
|
|
<li class=""><a href="module_uploader.html">uploader</a></li>
|
|
|
|
<li class=""><a href="module_yahoo.html">yahoo</a></li>
|
|
|
|
<li class=""><a href="module_yuiloader.html">yuiloader</a></li>
|
|
|
|
<li class=""><a href="module_yuitest.html">yuitest</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="module">
|
|
<h4>Classes</h4>
|
|
<ul class="content">
|
|
<li class=""><a href="YAHOO.widget.ProfilerViewer.html">YAHOO.widget.ProfilerViewer</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="module">
|
|
<h4>Files</h4>
|
|
<ul class="content">
|
|
<li class="selected"><a href="profilerviewer.js.html">profilerviewer.js</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="ft">
|
|
<hr />
|
|
Copyright © 2008 Yahoo! Inc. All rights reserved.
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|