PageSourceSearch

http://www.efojs.com/elefunfunt/plugins/debug/debug.js

js efojs.com collected 2026-10-06 03:41:10 UTC 6,710 bytes, 143 lines download raw bytes

1// use this to isolate the scope
2(function () {
3
4    if(!$axure.document.configuration.showConsole) { return; }
5
6    $(document).ready(function () {
7        $axure.player.createPluginHost({
8            id: 'debugHost',
9            context: 'interface',
10            title: 'CONSOLE',
11            gid: 3
12        });
13
14        generateDebug();
15
16        $('#variablesClearLink').click(clearvars_click);
17        $('#traceClearLink').click(cleartrace_click);
18
19
20        $(document).on('ContainerHeightChange', function () {
21            updateContainerHeight();
22        });
23
24        //$('#traceContainer').hide();
25        //$('#debugTraceLink').click(function () {
26        //    $('#variablesContainer').hide();
27        //    $('#traceContainer').show();
28        //});
29        //$('#debugVariablesLink').click(function () {
30        //    $('#variablesContainer').show();
31        //    $('#traceContainer').hide();
32        //});
33
34        var currentStack= [];
35        var finishedStack = [];
36
37        $axure.messageCenter.addMessageListener(function (message, data) {
38            if(message == 'globalVariableValues') {
39                //If variables container isn't visible, then ignore
40                //if(!$('#variablesContainer').is(":visible")) {
41                //    return;
42                //}
43
44                $('#variablesDiv').empty();
45                for(var key in data) {
46                    var value = data[key] == '' ? '(blank)' : data[key];
47                    $('#variablesDiv').append('<div class="variableDiv"><span class="variableName">' + key + '</span><br/>' + value + '</div>');
48                }
49            } if(message == 'setGlobalVar') {
50                //$('#variablesContainer').html("");
51                //for (var variable in $axure.globalVariableProvider.getDefinedVariables) {
52                //    $('#variablesContainer').append("<div class='varName'>" + variable + "</div>");
53                //    $('#variablesContainer').append("<div class='varVal'>" + $axure.globalVariableProvider.getVariableValue(variable) + "</div>");
54                //}
55            } else if(message == 'axEvent') {
56                var addToStack = "<div class='axEventBlock'>";
57                addToStack += "<div class='axTime'>" + new Date().toLocaleTimeString() + "</div>";
58                addToStack += "<div class='axLabel'>" + data.label + " (" + data.type + ")</div>";
59                addToStack += "<div class='axEvent'>" + data.event.description + "</div>";
60                currentStack.push(addToStack);
61            } else if (message == 'axEventComplete') {
62                currentStack[currentStack.length - 1] += "</div>";
63                finishedStack.push(currentStack.pop());
64                if(currentStack.length == 0) {
65                    $('#traceClearLinkContainer').show();
66                    $('#traceEmptyState').hide();
67
68                    $('.lastAxEvent').removeClass('lastAxEvent');
69                    for(var i = finishedStack.length - 1; i >= 0; i--) {
70                        if($('#traceDiv').children().length > 99) $('#traceDiv').children().last().remove();
71                        $('#traceDiv').prepend(finishedStack[i]);
72                        if(i == finishedStack.length - 1) $('#traceDiv').children().first().addClass('lastAxEvent');
73                    }
74                    finishedStack = [];
75                }
76            } else if (message == 'axCase') {
77                currentStack[currentStack.length - 1] += "<div class='axCase'>" + data.description + "</div>";
78            } else if (message == 'axAction') {
79                currentStack[currentStack.length - 1] += "<div class='axAction'>" + data.description + "</div>";
80            }
81        });
82
83        // bind to the page load
84        $axure.page.bind('load.debug', function () {
85
86            $axure.messageCenter.postMessage('getGlobalVariables', '');
87
88            return false;
89        });
90
91        function clearvars_click(event) {
92            $axure.messageCenter.postMessage('resetGlobalVariables', '');
93        }
94
95        function cleartrace_click(event) {
96            $('#traceDiv').html('');
97            $('#traceClearLinkContainer').hide();
98            $('#traceEmptyState').show();
99        }
100    });
101
102    function updateContainerHeight() {
103        $('#debugScrollContainer').height($('#debugHost').height() - $('#debugHeader').outerHeight());
104    }
105
106    function generateDebug() {
107        var pageNotesUi = "<div id='debugHeader'' class='sitemapHeader'>";
108
109        pageNotesUi += "<div id='debugToolbar' class='sitemapToolbar'>";
110        pageNotesUi += "<div class='pluginNameHeader'>CONSOLE</div>";
111        pageNotesUi += "<div class='pageNameHeader'></div>";
112
113        //pageNotesUi += "<div class='pageButtonHeader'>";
114
115        //pageNotesUi += "<a id='previousPageButton' title='Previous Page' class='sitemapToolbarButton'></a>";
116        //pageNotesUi += "<a id='nextPageButton' title='Next Page' class='sitemapToolbarButton'></a>";
117        //pageNotesUi += "<a id='variablesClearLink' title='Reset Variables' class='sitemapToolbarButton'></a>";
118
119        //pageNotesUi += "</div>";
120        pageNotesUi += "</div>";
121        pageNotesUi += "</div>";
122
123        //var pageNotesUi = "<div id='debugToolbar'><a id='debugVariablesLink' class='debugToolbarButton'>Variables</a> | <a id='debugTraceLink' class='debugToolbarButton'>Trace</a></div>";
124        pageNotesUi += "<div id='debugScrollContainer'>";
125        pageNotesUi += "<div id='debugContainer'>";
126        pageNotesUi += "<div id='variablesContainer'>";
127        pageNotesUi += "<div id='variablesClearLinkContainer' class='debugLinksContainer'><a id='variablesClearLink' title='Reset Variables'>Reset Variables</a></div>";
128        pageNotesUi += "<div id='variablesDiv'></div></div>";
129        pageNotesUi += "<div class='dottedDivider'></div>";
130        pageNotesUi += "<div id='traceContainer'>";
131        pageNotesUi += "<div id='traceClearLinkContainer' class='debugLinksContainer'><a id='traceClearLink' title='Clear Trace'>Clear Trace</a></div>";
132        pageNotesUi += "<div id='traceEmptyState' class='emptyStateContainer'><div class='emptyStateTitle'>No interactions in the trace.</div><div class='emptyStateContent'>Triggered interactions will appear here.</div><div class='dottedDivider'></div></div>";
133        pageNotesUi += "<div id='traceDiv'></div></div>";
134        pageNotesUi += "</div></div>";
135
136        $('#debugHost').html(pageNotesUi);
137        updateContainerHeight();
138
139        $('#traceClearLinkContainer').hide();
140        $('#traceEmptyState').show();
141    }
142
143})();   

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.