Author: smilek
Date: Mon Sep 24 12:09:34 2007
New Revision: 578910

URL: http://svn.apache.org/viewvc?rev=578910&view=rev
Log:
moved debugging code out of core.js

Added:
    
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.js
    
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.src.js

Added: 
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.js
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.js?rev=578910&view=auto
==============================================================================
--- 
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.js
 (added)
+++ 
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.js
 Mon Sep 24 12:09:34 2007
@@ -0,0 +1,282 @@
+dojo.provide("jetspeed.desktop.debug");
+dojo.require("jetspeed.debug");
+dojo.require("dojo.profile");
+if(!window.jetspeed){
+jetspeed={};
+}
+if(!jetspeed.om){
+jetspeed.om={};
+}
+jetspeed.debug={pageLoad:false,retrievePsml:false,setPortletContent:false,doRenderDoAction:false,postParseAnnotateHtml:false,postParseAnnotateHtmlDisableAnchors:false,confirmOnSubmit:false,createWindow:false,initWinState:false,submitWinState:false,ajaxPageNav:false,dragWindow:false,profile:true,windowDecorationRandom:false,debugInPortletWindow:true,debugContainerId:(djConfig.debugContainerId?djConfig.debugContainerId:dojo.hostenv.defaultDebugContainerId)};
+jetspeed.debugWindowLoad=function(){
+var _1=jetspeed;
+var _2=_1.id;
+var _3=dojo;
+if(djConfig.isDebug&&_1.debug.debugInPortletWindow&&_3.byId(_1.debug.debugContainerId)==null){
+var _4=_1.debugWindowReadCookie(true);
+var wP={};
+var _6=_2.PW_ID_PREFIX+_2.DEBUG_WINDOW_TAG;
+wP[_2.PP_WINDOW_POSITION_STATIC]=false;
+wP[_2.PP_WINDOW_HEIGHT_TO_FIT]=false;
+wP[_2.PP_WINDOW_DECORATION]=_1.prefs.windowDecoration;
+wP[_2.PP_WINDOW_TITLE]="Dojo Debug";
+wP[_2.PP_WINDOW_ICON]="text-x-script.png";
+wP[_2.PP_WIDGET_ID]=_6;
+wP[_2.PP_WIDTH]=_4.width;
+wP[_2.PP_HEIGHT]=_4.height;
+wP[_2.PP_LEFT]=_4.left;
+wP[_2.PP_TOP]=_4.top;
+wP[_2.PP_EXCLUDE_PCONTENT]=false;
+wP[_2.PP_CONTENT_RETRIEVER]=new _1.om.DojoDebugContentRetriever();
+wP[_2.PP_WINDOW_STATE]=_4.windowState;
+var _7=_1.widget.PortletWindow.prototype.altInitParamsDef(null,wP);
+_1.ui.createPortletWindow(_7,null,_1);
+_7.retrieveContent(null,null);
+var _8=_1.page.getPWin(_6);
+_3.event.connect("after",_3.hostenv,"println",_8,"contentChanged");
+_3.event.connect(_8,"windowActionButtonSync",_1,"debugWindowSave");
+_3.event.connect(_8,"endSizing",_1,"debugWindowSave");
+_3.event.connect(_8,"endDragging",_1,"debugWindowSave");
+}
+};
+jetspeed.debugWindowReadCookie=function(_9){
+var _a={};
+if(_9){
+_a={width:"400",height:"400",left:"320",top:"0",windowState:jetspeed.id.ACT_MINIMIZE};
+}
+var _b=dojo.io.cookie.getCookie(jetspeed.id.DEBUG_WINDOW_TAG);
+if(_b!=null&&_b.length>0){
+var _c=_b.split("|");
+if(_c&&_c.length>=4){
+_a.width=_c[0];
+_a.height=_c[1];
+_a.top=_c[2];
+_a.left=_c[3];
+if(_c.length>4&&_c[4]!=null&&_c[4].length>0){
+_a.windowState=_c[4];
+}
+}
+}
+return _a;
+};
+jetspeed.debugWindowRestore=function(){
+var _d=jetspeed.debugWindow();
+if(!_d){
+return;
+}
+_d.restoreWindow();
+};
+jetspeed.debugWindow=function(){
+var _e=jetspeed.id.PW_ID_PREFIX+jetspeed.id.DEBUG_WINDOW_TAG;
+return jetspeed.page.getPWin(_e);
+};
+jetspeed.debugWindowId=function(){
+return jetspeed.id.PW_ID_PREFIX+jetspeed.id.DEBUG_WINDOW_TAG;
+};
+jetspeed.debugWindowSave=function(){
+var _f=jetspeed.debugWindow();
+if(!_f){
+return null;
+}
+if(!_f.posStatic){
+var _10=_f.getCurWinStateForPersist(false);
+var _11=_10.width;
+var _12=_10.height;
+var _13=_10.top;
+var _14=_10.left;
+if(_f.windowState==jetspeed.id.ACT_MINIMIZE){
+var _15=_f.getDimsObj(_f.posStatic);
+if(_15!=null){
+if(_15.height!=null&&_15.height>0){
+_12=_15.height;
+}
+}else{
+var _16=jetspeed.debugWindowReadCookie(false);
+if(_16.height!=null&&_16.height>0){
+_12=_16.height;
+}
+}
+}
+var _17=_11+"|"+_12+"|"+_13+"|"+_14+"|"+_f.windowState;
+dojo.io.cookie.setCookie(jetspeed.id.DEBUG_WINDOW_TAG,_17,30,"/");
+}
+};
+jetspeed.debugDumpForm=function(_18){
+if(!_18){
+return null;
+}
+var _19=_18.toString();
+if(_18.name){
+_19+=" name="+_18.name;
+}
+if(_18.id){
+_19+=" id="+_18.id;
+}
+var _1a=dojo.io.encodeForm(_18);
+_19+=" data="+_1a;
+return _19;
+};
+jetspeed.om.DojoDebugContentRetriever=function(){
+this.initialized=false;
+};
+jetspeed.om.DojoDebugContentRetriever.prototype={getContent:function(_1b,_1c,_1d,_1e){
+if(!_1b){
+_1b={};
+}
+if(!this.initialized){
+var _1f=jetspeed;
+var _20="";
+var _21=_1f.debug.debugContainerId;
+var _22=_1f.debugWindow();
+if(_1f.altDebugWindowContent){
+_20=_1f.altDebugWindowContent();
+}else{
+_20+="<div id=\""+_21+"\"></div>";
+}
+if(_1c){
+_1c.notifySuccess(_20,_1b.url,_1d);
+}else{
+if(_22){
+_22.setPortletContent(_20,_1b.url);
+}
+}
+this.initialized=true;
+if(_22){
+var _23="javascript: void(document.getElementById('"+_21+"').innerHTML='')";
+var _24="";
+for(var i=0;i<20;i++){
+_24+="&nbsp;";
+}
+var _26=_22.title+_24+"<a href=\""+_23+"\"><span style=\"font-size: xx-small; 
font-weight: normal\">Clear</span></a>";
+_22.tbTextNode.innerHTML=_26;
+}
+}
+}};
+jetspeed.debugDumpColWidths=function(){
+for(var i=0;i<jetspeed.page.columns.length;i++){
+var _28=jetspeed.page.columns[i];
+dojo.debug("jetspeed.page.columns["+i+"] outer-width: 
"+dojo.html.getMarginBox(_28.domNode).width);
+}
+};
+jetspeed.debugDumpWindowsPerCol=function(){
+for(var i=0;i<jetspeed.page.columns.length;i++){
+var _2a=jetspeed.page.columns[i];
+var _2b=jetspeed.ui.getPWinChildren(_2a.domNode,null);
+var _2c=jetspeed.ui.getPWinsFromNodes(_2b.portletWindowNodes);
+var _2d={dumpMsg:""};
+if(_2c!=null){
+dojo.lang.forEach(_2c,function(_2e){
+_2d.dumpMsg=_2d.dumpMsg+(_2d.dumpMsg.length>0?", ":"")+_2e.portlet.entityId;
+});
+}
+_2d.dumpMsg="column "+i+": "+_2d.dumpMsg;
+dojo.debug(_2d.dumpMsg);
+}
+};
+jetspeed.debugDumpWindows=function(){
+var _2f=jetspeed.page.getPWins();
+var _30="";
+for(var i=0;i<_2f.length;i++){
+if(i>0){
+_30+=", ";
+}
+_30+=_2f[i].widgetId;
+}
+dojo.debug("PortletWindows: "+_30);
+};
+jetspeed.debugLayoutInfo=function(){
+var _32=jetspeed.page;
+var _33="";
+var i=0;
+for(var _35 in _32.layouts){
+if(i>0){
+_33+="\r\n";
+}
+_33+="layout["+_35+"]: "+jetspeed.printobj(_32.layouts[_35],true,true,true);
+i++;
+}
+return _33;
+};
+jetspeed.debugColumnInfo=function(){
+var _36=jetspeed.page;
+var _37="";
+for(var i=0;i<_36.columns.length;i++){
+if(i>0){
+_37+="\r\n";
+}
+_37+=_36.columns[i].toString();
+}
+return _37;
+};
+jetspeed.debugSavedWinState=function(){
+return jetspeed.debugWinStateAll(true);
+};
+jetspeed.debugWinState=function(){
+return jetspeed.debugWinStateAll(false);
+};
+jetspeed.debugPortletActions=function(){
+var _39=jetspeed.page.getPortletArray();
+var _3a="";
+for(var i=0;i<_39.length;i++){
+var _3c=_39[i];
+if(i>0){
+_3a+="\r\n";
+}
+_3a+="portlet ["+_3c.name+"] actions: {";
+for(var _3d in _3c.actions){
+_3a+=_3d+"={"+jetspeed.printobj(_3c.actions[_3d],true)+"} ";
+}
+_3a+="}";
+}
+return _3a;
+};
+jetspeed.debugWinStateAll=function(_3e){
+var _3f=jetspeed.page.getPortletArray();
+var _40="";
+for(var i=0;i<_3f.length;i++){
+var _42=_3f[i];
+if(i>0){
+_40+="\r\n";
+}
+var _43=null;
+try{
+if(_3e){
+_43=_42.getSavedWinState();
+}else{
+_43=_42.getCurWinState();
+}
+}
+catch(e){
+}
+_40+="["+_42.name+"] "+((_43==null)?"null":jetspeed.printobj(_43,true));
+}
+return _40;
+};
+if(jetspeed.debug.profile){
+dojo.profile.clearItem=function(_44){
+return (this._profiles[_44]={iters:0,total:0});
+};
+dojo.profile.debugItem=function(_45,_46){
+var _47=this._profiles[_45];
+if(_47==null){
+return null;
+}
+if(_47.iters==0){
+return [_45," not profiled."].join("");
+}
+var _48=[_45," took ",_47.total," msec for ",_47.iters," iteration"];
+if(_47.iters>1){
+_48.push("s (",(Math.round(_47.total/_47.iters*100)/100)," msec each)");
+}
+dojo.debug(_48.join(""));
+if(_46){
+this.clearItem(_45);
+}
+};
+dojo.profile.debugAllItems=function(_49){
+for(var x=0;x<this._pns.length;x++){
+this.debugItem(this._pns[x],_49);
+}
+};
+}
+

Added: 
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.src.js
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.src.js?rev=578910&view=auto
==============================================================================
--- 
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.src.js
 (added)
+++ 
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/desktop/debug.src.js
 Mon Sep 24 12:09:34 2007
@@ -0,0 +1,365 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * author: Steve Milek
+ */
+
+dojo.provide( "jetspeed.desktop.debug" );
+dojo.require( "jetspeed.debug" );
+dojo.require( "dojo.profile" );
+
+
+// jetspeed base objects
+
+if ( ! window.jetspeed )
+    jetspeed = {};
+if ( ! jetspeed.om )
+    jetspeed.om = {};
+
+
+// debug options
+
+jetspeed.debug =
+{
+    pageLoad: false,
+    retrievePsml: false,
+    setPortletContent: false,
+    doRenderDoAction: false,
+    postParseAnnotateHtml: false,
+    postParseAnnotateHtmlDisableAnchors: false,
+    confirmOnSubmit: false,
+    createWindow: false,
+    initWinState: false,
+    submitWinState: false,
+    ajaxPageNav: false,
+    dragWindow: false,
+
+    profile: true,
+
+    windowDecorationRandom: false,
+
+    debugInPortletWindow: true,
+
+    debugContainerId: ( djConfig.debugContainerId ? djConfig.debugContainerId 
: dojo.hostenv.defaultDebugContainerId )
+};
+//jetspeed.debugPortletEntityIdFilter = [ "dp-7", "dp-3" ];       // load 
listed portlets only
+//jetspeed.debugPortletEntityIdFilter = [];                       // disable 
all portlets
+//jetspeed.debugContentDumpIds = [ ".*" ];                        // dump all 
responses
+//jetspeed.debugContentDumpIds = [ "getmenus", "getmenu-.*" ];    // dump 
getmenus response and all getmenu responses
+//jetspeed.debugContentDumpIds = [ "page-.*" ];                   // dump page 
psml response
+//jetspeed.debugContentDumpIds = [ "js-cp-selector.2" ];          // dump 
portlet selector content
+//jetspeed.debugContentDumpIds = [ "moveabs-layout" ];            // dump move 
layout response
+//jetspeed.debugContentDumpIds = [ "js-cp-selector.*" ];          // dump 
portlet selector
+
+
+// debug window
+
+jetspeed.debugWindowLoad = function()
+{
+    var jsObj = jetspeed;
+    var jsId = jsObj.id;
+    var djObj = dojo;
+    if ( djConfig.isDebug && jsObj.debug.debugInPortletWindow && djObj.byId( 
jsObj.debug.debugContainerId ) == null )
+    {
+        var dbWSt = jsObj.debugWindowReadCookie( true );
+        var wP = {};
+        var dbWId = jsId.PW_ID_PREFIX + jsId.DEBUG_WINDOW_TAG;
+        wP[ jsId.PP_WINDOW_POSITION_STATIC ] = false;
+        wP[ jsId.PP_WINDOW_HEIGHT_TO_FIT ] = false;
+        wP[ jsId.PP_WINDOW_DECORATION ] = jsObj.prefs.windowDecoration;
+        wP[ jsId.PP_WINDOW_TITLE ] = "Dojo Debug";
+        wP[ jsId.PP_WINDOW_ICON ] = "text-x-script.png";
+        wP[ jsId.PP_WIDGET_ID ] = dbWId;
+        wP[ jsId.PP_WIDTH ] = dbWSt.width;
+        wP[ jsId.PP_HEIGHT ] = dbWSt.height;
+        wP[ jsId.PP_LEFT ] = dbWSt.left;
+        wP[ jsId.PP_TOP ] = dbWSt.top;
+        wP[ jsId.PP_EXCLUDE_PCONTENT ] = false;
+        wP[ jsId.PP_CONTENT_RETRIEVER ] = new 
jsObj.om.DojoDebugContentRetriever();
+        wP[ jsId.PP_WINDOW_STATE ] = dbWSt.windowState;
+        var pwP = jsObj.widget.PortletWindow.prototype.altInitParamsDef( null, 
wP );
+        jsObj.ui.createPortletWindow( pwP, null, jsObj );
+        pwP.retrieveContent( null, null );
+        var dbWW = jsObj.page.getPWin( dbWId );
+
+        djObj.event.connect( "after", djObj.hostenv, "println", dbWW, 
"contentChanged" );
+    
+        djObj.event.connect( dbWW, "windowActionButtonSync", jsObj, 
"debugWindowSave" );
+        djObj.event.connect( dbWW, "endSizing", jsObj, "debugWindowSave" );
+        djObj.event.connect( dbWW, "endDragging", jsObj, "debugWindowSave" );
+    }
+};
+jetspeed.debugWindowReadCookie = function( useDefaults )
+{
+    var debugState = {};
+    if ( useDefaults )
+        debugState = { width: "400", height: "400", left: "320", top: "0", 
windowState: jetspeed.id.ACT_MINIMIZE };
+    var stateCookieVal = dojo.io.cookie.getCookie( 
jetspeed.id.DEBUG_WINDOW_TAG );
+    if ( stateCookieVal != null && stateCookieVal.length > 0 )
+    {
+        var debugStateRaw = stateCookieVal.split( "|" );
+        if ( debugStateRaw && debugStateRaw.length >= 4 )
+        {
+            debugState.width = debugStateRaw[0]; debugState.height = 
debugStateRaw[1]; debugState.top = debugStateRaw[2]; debugState.left = 
debugStateRaw[3];
+            if ( debugStateRaw.length > 4 && debugStateRaw[4] != null && 
debugStateRaw[4].length > 0 )
+                debugState.windowState=debugStateRaw[4];
+        }
+    }
+    return debugState;
+};
+jetspeed.debugWindowRestore = function()
+{
+    var debugWindowWidget = jetspeed.debugWindow();
+    if ( ! debugWindowWidget ) return;
+    debugWindowWidget.restoreWindow();
+};
+jetspeed.debugWindow = function()
+{
+    var debugWindowWidgetId = jetspeed.id.PW_ID_PREFIX + 
jetspeed.id.DEBUG_WINDOW_TAG;
+    return jetspeed.page.getPWin( debugWindowWidgetId );
+};
+jetspeed.debugWindowId = function()
+{
+    return jetspeed.id.PW_ID_PREFIX + jetspeed.id.DEBUG_WINDOW_TAG;
+};
+jetspeed.debugWindowSave = function()
+{
+    var debugWindowWidget = jetspeed.debugWindow();
+    if ( ! debugWindowWidget ) return null;
+    if ( ! debugWindowWidget.posStatic )
+    {
+        var currentState = debugWindowWidget.getCurWinStateForPersist( false );
+        var cWidth = currentState.width; var cHeight = currentState.height; 
var cTop = currentState.top; var cLeft = currentState.left;
+        if ( debugWindowWidget.windowState == jetspeed.id.ACT_MINIMIZE )
+        {
+            var dimsCurrent = debugWindowWidget.getDimsObj( 
debugWindowWidget.posStatic );
+            if ( dimsCurrent != null )
+            {
+                if ( dimsCurrent.height != null && dimsCurrent.height > 0 )
+                    cHeight = dimsCurrent.height;
+            }
+            else
+            {
+                var debugWindowState = jetspeed.debugWindowReadCookie( false );
+                if ( debugWindowState.height != null && 
debugWindowState.height > 0 )
+                    cHeight = debugWindowState.height;
+            }
+        }
+
+        var stateCookieVal = cWidth + "|" + cHeight + "|" + cTop + "|" + cLeft 
+ "|" + debugWindowWidget.windowState;
+        dojo.io.cookie.setCookie( jetspeed.id.DEBUG_WINDOW_TAG, 
stateCookieVal, 30, "/" );
+    }
+};
+
+jetspeed.debugDumpForm = function( formNode )
+{
+    if ( ! formNode ) return null ;
+    var formDump = formNode.toString() ;
+    if ( formNode.name )
+        formDump += " name=" + formNode.name;
+    if ( formNode.id )
+        formDump += " id=" + formNode.id;
+    var queryString = dojo.io.encodeForm( formNode );
+    formDump += " data=" + queryString; 
+    return formDump;
+};
+
+// ... jetspeed.om.DojoDebugContentRetriever
+jetspeed.om.DojoDebugContentRetriever = function()
+{
+    this.initialized = false;
+};
+jetspeed.om.DojoDebugContentRetriever.prototype =
+{
+    getContent: function( bindArgs, contentListener, domainModelObject, /* 
String[] */ debugContentDumpIds )
+    {
+        if ( ! bindArgs )
+            bindArgs = {};
+        if ( ! this.initialized )
+        {
+            var jsObj = jetspeed;
+            var content = "";
+            var dbNodeId = jsObj.debug.debugContainerId;
+            var dbWindow = jsObj.debugWindow();
+
+            if ( jsObj.altDebugWindowContent )
+                content = jsObj.altDebugWindowContent();
+            else
+                content += '<div id="' + dbNodeId + '"></div>';
+
+            if ( contentListener )
+                contentListener.notifySuccess( content, bindArgs.url, 
domainModelObject );
+            else if ( dbWindow )
+                dbWindow.setPortletContent( content, bindArgs.url );
+
+            this.initialized = true;
+
+            if ( dbWindow )
+            {
+                var clearJS = "javascript: void(document.getElementById('" + 
dbNodeId + "').innerHTML='')";
+                var indent = "";
+                for ( var i = 0 ; i < 20 ; i++ )
+                    indent += "&nbsp;";
+                var titleWithClearAnchor = dbWindow.title + indent + '<a 
href="' + clearJS + '"><span style="font-size: xx-small; font-weight: 
normal">Clear</span></a>';
+                dbWindow.tbTextNode.innerHTML = titleWithClearAnchor;
+            }
+        }
+    }
+};
+
+// debug info functions
+
+jetspeed.debugDumpColWidths = function()
+{
+    for ( var i = 0 ; i < jetspeed.page.columns.length ; i++ )
+    {
+        var columnElmt = jetspeed.page.columns[i];
+        dojo.debug( "jetspeed.page.columns[" + i + "] outer-width: " + 
dojo.html.getMarginBox( columnElmt.domNode ).width );
+    }
+};
+jetspeed.debugDumpWindowsPerCol = function()
+{
+    for ( var i = 0 ; i < jetspeed.page.columns.length ; i++ )
+    {
+        var columnElmt = jetspeed.page.columns[i];
+        var windowNodesInColumn = jetspeed.ui.getPWinChildren( 
columnElmt.domNode, null );
+        var portletWindowsInColumn = jetspeed.ui.getPWinsFromNodes( 
windowNodesInColumn.portletWindowNodes );
+        var dumpClosure = { dumpMsg: "" };
+        if ( portletWindowsInColumn != null )
+        {
+            dojo.lang.forEach( portletWindowsInColumn,
+                                    function(portletWindow) { 
dumpClosure.dumpMsg = dumpClosure.dumpMsg + ( dumpClosure.dumpMsg.length > 0 ? 
", " : "" ) + portletWindow.portlet.entityId; } );
+        }
+        dumpClosure.dumpMsg = "column " + i + ": " + dumpClosure.dumpMsg;
+        dojo.debug( dumpClosure.dumpMsg );
+    }
+};
+
+jetspeed.debugDumpWindows = function()
+{
+    var portletWindows = jetspeed.page.getPWins();
+    var pwOut = "";
+    for ( var i = 0 ; i < portletWindows.length; i++ )
+    {
+        if ( i > 0 )
+            pwOut += ", ";
+        pwOut += portletWindows[i].widgetId;
+    }
+    dojo.debug( "PortletWindows: " + pwOut );
+};
+
+jetspeed.debugLayoutInfo = function()
+{
+    var jsPage = jetspeed.page;
+    var dumpMsg = "";
+    var i = 0;
+    for ( var layoutId in jsPage.layouts )
+    {
+        if ( i > 0 ) dumpMsg += "\r\n";
+        dumpMsg += "layout[" + layoutId + "]: " + jetspeed.printobj( 
jsPage.layouts[ layoutId ], true, true, true );
+        i++;
+    }
+    return dumpMsg;
+};
+jetspeed.debugColumnInfo = function()
+{
+    var jsPage = jetspeed.page;
+    var dumpMsg = "";
+    for ( var i = 0; i < jsPage.columns.length; i++ )
+    {
+        if ( i > 0 ) dumpMsg += "\r\n";
+        dumpMsg += jsPage.columns[i].toString();
+    }
+    return dumpMsg;
+};
+jetspeed.debugSavedWinState = function()
+{
+    return jetspeed.debugWinStateAll( true );
+};
+jetspeed.debugWinState = function()
+{
+    return jetspeed.debugWinStateAll( false );
+};
+jetspeed.debugPortletActions = function()
+{
+    var portletArray = jetspeed.page.getPortletArray();
+    var dumpMsg = "";
+    for ( var i = 0; i < portletArray.length; i++ )
+    {
+        var portlet = portletArray[i];
+        if ( i > 0 ) dumpMsg += "\r\n";
+        dumpMsg += "portlet [" + portlet.name + "] actions: {";
+        for ( var actionKey in portlet.actions )
+            dumpMsg += actionKey + "={" + jetspeed.printobj( 
portlet.actions[actionKey], true ) + "} ";
+        dumpMsg += "}";
+    }
+    return dumpMsg;
+};
+jetspeed.debugWinStateAll = function( useLastSaved )
+{
+    var portletArray = jetspeed.page.getPortletArray();
+    var dumpMsg = "";
+    for ( var i = 0; i < portletArray.length; i++ )
+    {
+        var portlet = portletArray[i];
+        if ( i > 0 ) dumpMsg += "\r\n";
+        var windowState = null;
+        try
+        {
+            if ( useLastSaved )
+                windowState = portlet.getSavedWinState();
+            else
+                windowState = portlet.getCurWinState();
+        }
+        catch (e) { }
+        dumpMsg += "[" + portlet.name + "] " + ( (windowState == null) ? 
"null" : jetspeed.printobj( windowState, true ) );
+    }
+    return dumpMsg;
+};
+
+
+// profile functions
+
+if ( jetspeed.debug.profile )
+{
+    dojo.profile.clearItem = function(name) {
+       // summary:     clear the profile times for a particular entry
+       return (this._profiles[name] = {iters: 0, total: 0});
+    }
+    dojo.profile.debugItem = function(name,clear) {
+       // summary:     write profile information for a particular entry to the 
debug console
+       var profile = this._profiles[name];
+       if (profile == null) return null;
+       
+       if (profile.iters == 0) {
+               return [name, " not profiled."].join("");
+       }
+       var output = [name, " took ", profile.total, " msec for ", 
profile.iters, " iteration"];
+       if (profile.iters > 1) {
+               output.push("s (", 
(Math.round(profile.total/profile.iters*100)/100), " msec each)");
+       }
+    
+       // summary: print profile information for a single item out to the 
debug log
+       dojo.debug(output.join(""));
+        if ( clear )
+            this.clearItem( name );
+    }
+    dojo.profile.debugAllItems = function(clear) {
+        for(var x=0; x < this._pns.length; x++){
+            this.debugItem( this._pns[x], clear );
+        }
+    }        
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to