You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
6.4 KiB
143 lines
6.4 KiB
// use this to isolate the scope
|
|
(function () {
|
|
|
|
if(!$axure.document.configuration.showConsole) { return; }
|
|
|
|
$(document).ready(function () {
|
|
$axure.player.createPluginHost({
|
|
id: 'debugHost',
|
|
context: 'interface',
|
|
title: 'CONSOLE',
|
|
gid: 3
|
|
});
|
|
|
|
generateDebug();
|
|
|
|
$('#variablesClearLink').click(clearvars_click);
|
|
$('#traceClearLink').click(cleartrace_click);
|
|
|
|
|
|
$(document).on('ContainerHeightChange', function () {
|
|
updateContainerHeight();
|
|
});
|
|
|
|
//$('#traceContainer').hide();
|
|
//$('#debugTraceLink').click(function () {
|
|
// $('#variablesContainer').hide();
|
|
// $('#traceContainer').show();
|
|
//});
|
|
//$('#debugVariablesLink').click(function () {
|
|
// $('#variablesContainer').show();
|
|
// $('#traceContainer').hide();
|
|
//});
|
|
|
|
var currentStack= [];
|
|
var finishedStack = [];
|
|
|
|
$axure.messageCenter.addMessageListener(function (message, data) {
|
|
if(message == 'globalVariableValues') {
|
|
//If variables container isn't visible, then ignore
|
|
//if(!$('#variablesContainer').is(":visible")) {
|
|
// return;
|
|
//}
|
|
|
|
$('#variablesDiv').empty();
|
|
for(var key in data) {
|
|
var value = data[key] == '' ? '(blank)' : data[key];
|
|
$('#variablesDiv').append('<div class="variableDiv"><span class="variableName">' + key + '</span><br/>' + value + '</div>');
|
|
}
|
|
} if(message == 'setGlobalVar') {
|
|
//$('#variablesContainer').html("");
|
|
//for (var variable in $axure.globalVariableProvider.getDefinedVariables) {
|
|
// $('#variablesContainer').append("<div class='varName'>" + variable + "</div>");
|
|
// $('#variablesContainer').append("<div class='varVal'>" + $axure.globalVariableProvider.getVariableValue(variable) + "</div>");
|
|
//}
|
|
} else if(message == 'axEvent') {
|
|
var addToStack = "<div class='axEventBlock'>";
|
|
addToStack += "<div class='axTime'>" + new Date().toLocaleTimeString() + "</div>";
|
|
addToStack += "<div class='axLabel'>" + data.label + " (" + data.type + ")</div>";
|
|
addToStack += "<div class='axEvent'>" + data.event.description + "</div>";
|
|
currentStack.push(addToStack);
|
|
} else if (message == 'axEventComplete') {
|
|
currentStack[currentStack.length - 1] += "</div>";
|
|
finishedStack.push(currentStack.pop());
|
|
if(currentStack.length == 0) {
|
|
$('#traceClearLinkContainer').show();
|
|
$('#traceEmptyState').hide();
|
|
|
|
$('.lastAxEvent').removeClass('lastAxEvent');
|
|
for(var i = finishedStack.length - 1; i >= 0; i--) {
|
|
if($('#traceDiv').children().length > 99) $('#traceDiv').children().last().remove();
|
|
$('#traceDiv').prepend(finishedStack[i]);
|
|
if(i == finishedStack.length - 1) $('#traceDiv').children().first().addClass('lastAxEvent');
|
|
}
|
|
finishedStack = [];
|
|
}
|
|
} else if (message == 'axCase') {
|
|
currentStack[currentStack.length - 1] += "<div class='axCase'>" + data.description + "</div>";
|
|
} else if (message == 'axAction') {
|
|
currentStack[currentStack.length - 1] += "<div class='axAction'>" + data.description + "</div>";
|
|
}
|
|
});
|
|
|
|
// bind to the page load
|
|
$axure.page.bind('load.debug', function () {
|
|
|
|
$axure.messageCenter.postMessage('getGlobalVariables', '');
|
|
|
|
return false;
|
|
});
|
|
|
|
function clearvars_click(event) {
|
|
$axure.messageCenter.postMessage('resetGlobalVariables', '');
|
|
}
|
|
|
|
function cleartrace_click(event) {
|
|
$('#traceDiv').html('');
|
|
$('#traceClearLinkContainer').hide();
|
|
$('#traceEmptyState').show();
|
|
}
|
|
});
|
|
|
|
function updateContainerHeight() {
|
|
$('#debugScrollContainer').height($('#debugHost').height() - $('#debugHeader').outerHeight());
|
|
}
|
|
|
|
function generateDebug() {
|
|
var pageNotesUi = "<div id='debugHeader'' class='sitemapHeader'>";
|
|
|
|
pageNotesUi += "<div id='debugToolbar' class='sitemapToolbar'>";
|
|
pageNotesUi += "<div class='pluginNameHeader'>CONSOLE</div>";
|
|
pageNotesUi += "<div class='pageNameHeader'></div>";
|
|
|
|
//pageNotesUi += "<div class='pageButtonHeader'>";
|
|
|
|
//pageNotesUi += "<a id='previousPageButton' title='Previous Page' class='sitemapToolbarButton'></a>";
|
|
//pageNotesUi += "<a id='nextPageButton' title='Next Page' class='sitemapToolbarButton'></a>";
|
|
//pageNotesUi += "<a id='variablesClearLink' title='Reset Variables' class='sitemapToolbarButton'></a>";
|
|
|
|
//pageNotesUi += "</div>";
|
|
pageNotesUi += "</div>";
|
|
pageNotesUi += "</div>";
|
|
|
|
//var pageNotesUi = "<div id='debugToolbar'><a id='debugVariablesLink' class='debugToolbarButton'>Variables</a> | <a id='debugTraceLink' class='debugToolbarButton'>Trace</a></div>";
|
|
pageNotesUi += "<div id='debugScrollContainer'>";
|
|
pageNotesUi += "<div id='debugContainer'>";
|
|
pageNotesUi += "<div id='variablesContainer'>";
|
|
pageNotesUi += "<div id='variablesClearLinkContainer' class='debugLinksContainer'><a id='variablesClearLink' title='Reset Variables'>Reset Variables</a></div>";
|
|
pageNotesUi += "<div id='variablesDiv'></div></div>";
|
|
pageNotesUi += "<div class='dottedDivider'></div>";
|
|
pageNotesUi += "<div id='traceContainer'>";
|
|
pageNotesUi += "<div id='traceClearLinkContainer' class='debugLinksContainer'><a id='traceClearLink' title='Clear Trace'>Clear Trace</a></div>";
|
|
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>";
|
|
pageNotesUi += "<div id='traceDiv'></div></div>";
|
|
pageNotesUi += "</div></div>";
|
|
|
|
$('#debugHost').html(pageNotesUi);
|
|
updateContainerHeight();
|
|
|
|
$('#traceClearLinkContainer').hide();
|
|
$('#traceEmptyState').show();
|
|
}
|
|
|
|
})();
|