This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tsg-ui-demo/public/resources/scripts/startPost.js
chengsir fae7024b9c t
2019-05-14 17:18:16 +08:00

818 lines
35 KiB
JavaScript

// 8.0.0.3372. Generated 2/5/2018 11:05:16 PM UTC
//***** sitemap.js *****//
var currentNodeUrl = '';
var allNodeUrls = [];
function openNextPage() {
var index = allNodeUrls.indexOf(currentNodeUrl) + 1;
if(index >= allNodeUrls.length) return;
var nextNodeUrl = allNodeUrls[index];
$('.sitemapPageLink[nodeUrl="' + nextNodeUrl + '"]').click();
}
function openPreviousPage() {
var index = allNodeUrls.indexOf(currentNodeUrl) - 1;
if(index < 0) return;
var nextNodeUrl = allNodeUrls[index];
$('.sitemapPageLink[nodeUrl="' + nextNodeUrl + '"]').click();
}
// use this to isolate the scope
(function() {
var SHOW_HIDE_ANIMATION_DURATION = 0;
var HIGHLIGHT_INTERACTIVE_VAR_NAME = 'hi';
var currentPageLoc = '';
var currentPlayerLoc = '';
var currentPageHashString = '';
$(window.document).ready(function() {
$axure.player.createPluginHost({
id: 'sitemapHost',
context: 'interface',
title: 'PAGES',
gid: 1
});
generateSitemap();
$('.sitemapPlusMinusLink').toggle(collapse_click, expand_click);
$('.sitemapPageLink').click(node_click);
$('#sitemapLinksContainer').hide();
$('#linksButton').click(links_click);
$('#adaptiveButton').click(adaptive_click);
$('#adaptiveViewsContainer').hide();
$('#highlightInteractiveButton').click(highlight_interactive);
$('#searchButton').click(search_click);
$('#searchBox').keyup(search_input_keyup);
$('.sitemapLinkField').click(function() { this.select(); });
$('input[value="withoutmap"]').click(withoutSitemapRadio_click);
$('input[value="withmap"]').click(withSitemapRadio_click);
$('#minimizeBox, #collapseBox, #footnotesBox, #highlightBox').change(sitemapUrlOptions_change);
$('#viewSelect').change(sitemapUrlViewSelect_change);
$(document).on('ContainerHeightChange', function() {
updateContainerHeight();
});
// bind to the page load
$axure.page.bind('load.sitemap', function() {
currentPageLoc = $axure.page.location.split("#")[0];
var decodedPageLoc = decodeURI(currentPageLoc);
currentNodeUrl = decodedPageLoc.substr(decodedPageLoc.lastIndexOf('/') ? decodedPageLoc.lastIndexOf('/') + 1 : 0);
currentPlayerLoc = $(location).attr('href').split("#")[0].split("?")[0];
currentPageHashString = '#p=' + currentNodeUrl.substr(0, currentNodeUrl.lastIndexOf('.'));
setVarInCurrentUrlHash('p', currentNodeUrl.substring(0, currentNodeUrl.lastIndexOf('.html')));
$('.sitemapPageLink').parent().parent().removeClass('sitemapHighlight');
$('.sitemapPageLink[nodeUrl="' + currentNodeUrl + '"]').parent().parent().addClass('sitemapHighlight');
var pageName = $axure.page.pageName;
$('.pageNameHeader').html(pageName);
$('#sitemapLinksPageName').html($('.sitemapHighlight > .sitemapPageLinkContainer > .sitemapPageLink > .sitemapPageName').html());
//Click the "Without sitemap" radio button so that it's selected by default
$('input[value="withoutmap"]').click();
//If highlight var is present and set to 1 or else if
//sitemap highlight button is selected then highlight interactive elements
var hiVal = getHashStringVar(HIGHLIGHT_INTERACTIVE_VAR_NAME);
if(hiVal.length > 0 && hiVal == 1) {
$('#highlightInteractiveButton').addClass('sitemapToolbarButtonSelected');
$axure.messageCenter.postMessage('highlightInteractive', true);
} else if($('#highlightInteractiveButton').is('.sitemapToolbarButtonSelected')) {
$axure.messageCenter.postMessage('highlightInteractive', true);
}
//Set the current view if it is defined in the hash string
//If the view is invalid, set it to 'auto' in the string
//ELSE set the view based on the currently selected view in the toolbar menu
var viewStr = getHashStringVar(ADAPTIVE_VIEW_VAR_NAME);
if(viewStr.length > 0) {
var $view = $('.adaptiveViewOption[val="' + viewStr + '"]');
if($view.length > 0) $view.click();
else $('.adaptiveViewOption[val="auto"]').click();
} else if($('.checkedAdaptive').length > 0) {
var $viewOption = $('.checkedAdaptive').parents('.adaptiveViewOption');
if($viewOption.attr('val') != 'auto') $viewOption.click();
}
$axure.messageCenter.postMessage('finishInit');
return false;
});
var $adaptiveViewsContainer = $('#adaptiveViewsContainer');
var $viewSelect = $('#viewSelect');
//Fill out adaptive view container with prototype's defined adaptive views, as well as the default, and Auto
$adaptiveViewsContainer.append('<div class="adaptiveViewOption" val="auto"><div class="adaptiveCheckboxDiv checkedAdaptive"></div>Auto</div>');
$viewSelect.append('<option value="auto">Auto</option>');
if(typeof $axure.document.defaultAdaptiveView.name != 'undefined') {
//If the name is a blank string, make the view name the width if non-zero, else 'any'
var defaultViewName = $axure.document.defaultAdaptiveView.name;
$adaptiveViewsContainer.append('<div class="adaptiveViewOption currentAdaptiveView" val="default"><div class="adaptiveCheckboxDiv"></div>' + defaultViewName + '</div>');
$viewSelect.append('<option value="default">' + defaultViewName + '</option>');
}
var enabledViewIds = $axure.document.configuration.enabledViewIds;
for(var viewIndex = 0; viewIndex < $axure.document.adaptiveViews.length; viewIndex++) {
var currView = $axure.document.adaptiveViews[viewIndex];
if(enabledViewIds.indexOf(currView.id) < 0) continue;
var widthString = currView.size.width == 0 ? 'any' : currView.size.width;
var heightString = currView.size.height == 0 ? 'any' : currView.size.height;
var conditionString = '';
if(currView.condition == '>' || currView.condition == '>=') {
conditionString = ' and above';
} else if(currView.condition == '<' || currView.condition == '<=') {
conditionString = ' and below';
}
var viewString = currView.name + ' (' + widthString + ' x ' + heightString + conditionString + ')';
$adaptiveViewsContainer.append('<div class="adaptiveViewOption" val="' + currView.id + '"><div class="adaptiveCheckboxDiv"></div>' + viewString + '</div>');
$viewSelect.append('<option value="' + currView.id + '">' + viewString + '</option>');
}
$('.adaptiveViewOption').click(adaptiveViewOption_click);
$('.adaptiveViewOption').mouseup(function(event) {
event.stopPropagation();
});
$('#searchBox').focusin(function() {
if($(this).is('.searchBoxHint')) {
$(this).val('');
$(this).removeClass('searchBoxHint');
}
}).focusout(function() {
if($(this).val() == '') {
$(this).addClass('searchBoxHint');
$(this).val('Search');
}
});
$('#searchBox').focusout();
});
function updateContainerHeight() {
$('#sitemapTreeContainer').height($('#sitemapHost').height() - $('#sitemapHeader').outerHeight());
}
function hideAllContainersExcept(exceptContainer) {
//1 - adaptive container, 3 - links container
if(exceptContainer != 1) {
$('#adaptiveViewsContainer').hide();
$('#adaptiveButton').removeClass('sitemapToolbarButtonSelected');
}
if(exceptContainer != 3) {
$('#sitemapLinksContainer').hide();
$('#linksButton').removeClass('sitemapToolbarButtonSelected');
}
}
function collapse_click(event) {
$(this)
.children('.sitemapMinus').removeClass('sitemapMinus').addClass('sitemapPlus').end()
.closest('li').children('ul').hide(SHOW_HIDE_ANIMATION_DURATION);
}
function expand_click(event) {
$(this)
.children('.sitemapPlus').removeClass('sitemapPlus').addClass('sitemapMinus').end()
.closest('li').children('ul').show(SHOW_HIDE_ANIMATION_DURATION);
}
function node_click(event) {
$axure.page.navigate(this.getAttribute('nodeUrl'), true);
}
function links_click(event) {
hideAllContainersExcept(3);
$('#sitemapLinksContainer').toggle();
updateContainerHeight();
if($('#sitemapLinksContainer').is(":visible")) {
$('#linksButton').addClass('sitemapToolbarButtonSelected');
} else {
$('#linksButton').removeClass('sitemapToolbarButtonSelected');
}
}
$axure.messageCenter.addMessageListener(function(message, data) {
if(message == 'adaptiveViewChange') {
$('.adaptiveViewOption').removeClass('currentAdaptiveView');
if(data.viewId) {$('div[val="' + data.viewId + '"]').addClass('currentAdaptiveView');}
else $('div[val="default"]').addClass('currentAdaptiveView');
//when we set adaptive view through user event, we want to update the checkmark on sitemap
if(data.forceSwitchTo) {
$('.checkedAdaptive').removeClass('checkedAdaptive');
$('div[val="' + data.forceSwitchTo + '"]').find('.adaptiveCheckboxDiv').addClass('checkedAdaptive');
}
}
});
$(document).on('pluginShown', function (event, data) {
if(data == 1) {
hideAllContainersExcept(1);
updateContainerHeight();
}
});
$(document).on('sidebarExpanded', function (event, data) {
hideAllContainersExcept(1);
updateContainerHeight();
});
function highlight_interactive(event) {
if($('#highlightInteractiveButton').is('.sitemapToolbarButtonSelected')) {
$('#highlightInteractiveButton').removeClass('sitemapToolbarButtonSelected');
$axure.messageCenter.postMessage('highlightInteractive', false);
//Delete 'hi' hash string var if it exists since default is unselected
deleteVarFromCurrentUrlHash(HIGHLIGHT_INTERACTIVE_VAR_NAME);
} else {
$('#highlightInteractiveButton').addClass('sitemapToolbarButtonSelected');
$axure.messageCenter.postMessage('highlightInteractive', true);
//Add 'hi' hash string var so that stay highlighted across reloads
setVarInCurrentUrlHash(HIGHLIGHT_INTERACTIVE_VAR_NAME, 1);
}
}
function adaptive_click(event) {
hideAllContainersExcept(1);
$('#adaptiveViewsContainer').toggle();
updateContainerHeight();
if(!$('#adaptiveViewsContainer').is(":visible")) {
$('#adaptiveButton').removeClass('sitemapToolbarButtonSelected');
} else {
$('#adaptiveButton').addClass('sitemapToolbarButtonSelected');
}
}
function adaptiveViewOption_click(event) {
var currVal = $(this).attr('val');
$('.checkedAdaptive').removeClass('checkedAdaptive');
$(this).find('.adaptiveCheckboxDiv').addClass('checkedAdaptive');
currentPageLoc = $axure.page.location.split("#")[0];
var decodedPageLoc = decodeURI(currentPageLoc);
var nodeUrl = decodedPageLoc.substr(decodedPageLoc.lastIndexOf('/') ? decodedPageLoc.lastIndexOf('/') + 1 : 0);
var adaptiveData = {
src: nodeUrl
};
adaptiveData.view = currVal;
$axure.messageCenter.postMessage('switchAdaptiveView', adaptiveData);
if(currVal == 'auto') {
//Remove view in hash string if one is set
deleteVarFromCurrentUrlHash(ADAPTIVE_VIEW_VAR_NAME);
} else {
//Set current view in hash string so that it can be maintained across reloads
setVarInCurrentUrlHash(ADAPTIVE_VIEW_VAR_NAME, currVal);
}
}
function search_click(event) {
$('#searchDiv').toggle();
if(!$('#searchDiv').is(":visible")) {
$('#searchButton').removeClass('sitemapToolbarButtonSelected');
$('#searchBox').val('');
$('#searchBox').keyup();
//$('#sitemapToolbar').css('height', '22px');
$('#sitemapTreeContainer').css('top', '31px');
} else {
$('#searchButton').addClass('sitemapToolbarButtonSelected');
$('#searchBox').focus();
//$('#sitemapToolbar').css('height', '50px');
$('#sitemapTreeContainer').css('top', '63px');
}
}
function search_input_keyup(event) {
var searchVal = $(this).val().toLowerCase();
//If empty search field, show all nodes, else grey+hide all nodes and
//ungrey+unhide all matching nodes, as well as unhide their parent nodes
if(searchVal == '') {
$('.sitemapPageName').removeClass('sitemapGreyedName');
$('.sitemapNode').show();
} else {
$('.sitemapNode').hide();
$('.sitemapPageName').addClass('sitemapGreyedName').each(function() {
var nodeName = $(this).text().toLowerCase();
if(nodeName.indexOf(searchVal) != -1) {
$(this).removeClass('sitemapGreyedName').parents('.sitemapNode:first').show().parents('.sitemapExpandableNode').show();
}
});
}
}
function withoutSitemapRadio_click() {
$('#sitemapLinkWithPlayer').val(currentPageLoc);
$('#sitemapOptionsDiv').hide();
$('#minimizeBox').attr('disabled', 'disabled');
$('#collapseBox').attr('disabled', 'disabled');
$('#footnotesBox').attr('disabled', 'disabled');
$('#highlightBox').attr('disabled', 'disabled');
$('#viewSelect').attr('disabled', 'disabled');
$('input[value="withmap"]').parent().removeClass('sitemapRadioSelected');
updateContainerHeight();
}
function withSitemapRadio_click() {
$('#sitemapLinkWithPlayer').val(currentPlayerLoc + currentPageHashString);
$('#minimizeBox').removeAttr('disabled').change();
$('#collapseBox').removeAttr('disabled').change();
$('#footnotesBox').removeAttr('disabled').change();
$('#highlightBox').removeAttr('disabled').change();
$('#viewSelect').removeAttr('disabled').change();
$('#sitemapOptionsDiv').show();
$('input[value="withmap"]').parent().addClass('sitemapRadioSelected');
updateContainerHeight();
}
function sitemapUrlOptions_change() {
var currLinkHash = '#' + $('#sitemapLinkWithPlayer').val().split("#")[1];
var newHash = null;
var varName = '';
var defVal = 1;
if($(this).is('#minimizeBox')) {
varName = SITEMAP_COLLAPSE_VAR_NAME;
} else if($(this).is('#collapseBox')) {
varName = PLUGIN_VAR_NAME;
defVal = 0;
} else if($(this).is('#footnotesBox')) {
varName = FOOTNOTES_VAR_NAME;
defVal = 0;
} else if($(this).is('#highlightBox')) {
varName = HIGHLIGHT_INTERACTIVE_VAR_NAME;
}
newHash = $(this).is(':checked') ? setHashStringVar(currLinkHash, varName, defVal) : deleteHashStringVar(currLinkHash, varName);
if(newHash != null) {
$('#sitemapLinkWithPlayer').val(currentPlayerLoc + newHash);
}
}
function sitemapUrlViewSelect_change() {
var currLinkHash = '#' + $('#sitemapLinkWithPlayer').val().split("#")[1];
var newHash = null;
var $selectedOption = $(this).find('option:selected');
if($selectedOption.length == 0) return;
var selectedVal = $selectedOption.attr('value');
newHash = selectedVal == 'auto' ? deleteHashStringVar(currLinkHash, ADAPTIVE_VIEW_VAR_NAME) : setHashStringVar(currLinkHash, ADAPTIVE_VIEW_VAR_NAME, selectedVal);
if(newHash != null) {
$('#sitemapLinkWithPlayer').val(currentPlayerLoc + newHash);
}
}
function generateSitemap() {
var treeUl = "<div id='sitemapHeader'' class='sitemapHeader'>";
treeUl += "<div id='sitemapToolbar' class='sitemapToolbar'>";
treeUl += "<div class='pluginNameHeader'>PAGES</div>";
treeUl += "<div class='pageNameHeader'></div>";
treeUl += "<div class='pageButtonHeader'>";
if($axure.document.configuration.enabledViewIds.length > 0) {
treeUl += "<a id='adaptiveButton' title='Select Adaptive View' class='sitemapToolbarButton'></a>";
}
treeUl += "<a id='linksButton' title='Get Links' class='sitemapToolbarButton'></a>";
treeUl += "<a id='highlightInteractiveButton' title='Highlight interactive elements' class='sitemapToolbarButton'></a>";
treeUl += "</div>";
treeUl += "</div>";
if($axure.document.adaptiveViews.length > 0) {
treeUl += "<div id='adaptiveViewsContainer'><div style='margin-bottom:10px;'>Adaptive Views</div></div>";
}
//linkcontainer
treeUl += "<div id='sitemapLinksContainer' class='sitemapLinkContainer'>";
treeUl += "<div style='margin-bottom:10px;'>Generate sharable URLs</div>";
treeUl += "<input id='sitemapLinkWithPlayer' type='text' class='sitemapLinkField'/>";
treeUl += "<div class='sitemapOptionContainer'>";
treeUl += "<div><label><input type='radio' name='sitemapToggle' value='withoutmap'/>Without Sidebar</label></div>";
treeUl += "<div style='margin-top:10px;'><label><input type='radio' name='sitemapToggle' value='withmap'/>With Sidebar</label>";
treeUl += "<div id='sitemapOptionsDiv'>";
treeUl += "<div class='sitemapUrlOption'><label><input type='checkbox' id='minimizeBox' />Minimize sidebar</label></div>";
treeUl += "<div class='sitemapUrlOption'><label><input type='checkbox' id='collapseBox' />Pages closed</label></div>";
if($axure.document.configuration.showAnnotations == true) {
treeUl += "<div class='sitemapUrlOption'><label><input type='checkbox' id='footnotesBox' />Hide footnotes</label></div>";
}
treeUl += "<div class='sitemapUrlOption'><label><input type='checkbox' id='highlightBox' />Highlight interactive elements</label></div>";
if($axure.document.configuration.enabledViewIds.length > 0) {
treeUl += "<div id='viewSelectDiv' class='sitemapUrlOption'><label>View: <select id='viewSelect'></select></label></div>";
}
treeUl += "</div></div></div></div>";
/////////////////
treeUl += "</div>";
treeUl += "<div id='sitemapTreeContainer'>";
treeUl += '<div id="searchDiv" style=""><input id="searchBox" style="" type="text"/></div>';
treeUl += "<ul class='sitemapTree' style='clear:both;'>";
var rootNodes = $axure.document.sitemap.rootNodes;
for(var i = 0; i < rootNodes.length; i++) {
treeUl += generateNode(rootNodes[i], 0);
}
treeUl += "</ul></div>";
$('#sitemapHost').html(treeUl);
if($axure.document.adaptiveViews.length <= 0) {
$('#sitemapHost .pageNameHeader').css('padding-right', '55px');
}
}
function generateNode(node, level) {
var hasChildren = (node.children && node.children.length > 0);
var margin, returnVal;
if(hasChildren) {
margin = (9 + level * 17);
returnVal = "<li class='sitemapNode sitemapExpandableNode'><div><div class='sitemapPageLinkContainer' style='margin-left:" + margin + "px'><a class='sitemapPlusMinusLink'><span class='sitemapMinus'></span></a>";
} else {
margin = (21 + level * 17);
returnVal = "<li class='sitemapNode sitemapLeafNode'><div><div class='sitemapPageLinkContainer' style='margin-left:" + margin + "px'>";
}
var isFolder = node.type == "Folder";
if(!isFolder) {
returnVal += "<a class='sitemapPageLink' nodeUrl='" + node.url + "'>";
allNodeUrls.push(node.url);
}
returnVal += "<span class='sitemapPageIcon";
if(node.type == "Flow") { returnVal += " sitemapFlowIcon"; }
if(isFolder) { returnVal += " sitemapFolderIcon"; }
returnVal += "'></span><span class='sitemapPageName'>";
returnVal += $('<div/>').text(node.pageName).html();
returnVal += "</span>";
if(!isFolder) returnVal += "</a>";
returnVal += "</div></div>";
if(hasChildren) {
returnVal += "<ul>";
for(var i = 0; i < node.children.length; i++) {
var child = node.children[i];
returnVal += generateNode(child, level + 1);
}
returnVal += "</ul>";
}
returnVal += "</li>";
return returnVal;
}
})();
//***** page_notes.js *****//
// use this to isolate the scope
(function () {
if(!$axure.document.configuration.showPageNotes && !$axure.document.configuration.showAnnotationsSidebar) { return; }
$(window.document).ready(function () {
$axure.player.createPluginHost({
id: 'pageNotesHost',
context: 'interface',
title: 'NOTES',
gid: 2
});
generatePageNotes();
$(document).on('ContainerHeightChange', function () {
updateContainerHeight();
});
$('#footnotesButton').click(footnotes_click).addClass('sitemapToolbarButtonSelected');
$('#notesNextButton').click(notesNext_click);
$('#notesPreviousButton').click(notesPrevious_click);
// bind to the page load
$axure.page.bind('load.page_notes', function () {
var hasNotes = false;
$('#pageNotesContent').html("");
if($axure.document.configuration.showPageNotes) {
//populate the notes
var notes = $axure.page.notes;
if(notes) {
var showNames = $axure.document.configuration.showPageNoteNames;
for(var noteName in notes) {
var pageNoteUi = "<div class='pageNoteContainer'>";
if(showNames) {
pageNoteUi += "<div class='pageNoteName'>" + noteName + "</div>";
}
pageNoteUi += "<div class='pageNote'>" + linkify(notes[noteName]) + "</div>";
pageNoteUi += "</div>";
pageNoteUi += "<div class='dottedDivider'></div>";
$('#pageNotesContent').append(pageNoteUi);
hasNotes = true;
}
}
}
if($axure.document.configuration.showAnnotationsSidebar) {
var widgetNotes = $axure.page.widgetNotes;
if(widgetNotes) {
for(var i = 0; i < widgetNotes.length; i++) {
var widgetNote = widgetNotes[i];
var widgetNoteUi = "<div class='widgetNoteContainer' data-id='" + widgetNote["id"] + "'>";
widgetNoteUi += "<div class='widgetNoteFootnote'></div>";
widgetNoteUi += "<div class='widgetNoteLabel'>" + widgetNote["label"] + "</div>";
for(var widgetNoteName in widgetNote) {
if(widgetNoteName != "label" && widgetNoteName != "id") {
widgetNoteUi += "<div class='pageNoteName'>" + widgetNoteName + "</div>";
widgetNoteUi += "<div class='pageNote'>" + linkify(widgetNote[widgetNoteName]) + "</div>";
widgetNoteUi += "<div class='nondottedDivider'></div>";
}
}
widgetNoteUi += "</div>";
widgetNoteUi += "<div class='nondottedDivider'></div>";
$('#pageNotesContent').append(widgetNoteUi);
hasNotes = true;
}
$('.widgetNoteContainer').children(':last-child').remove();
$('.widgetNoteFootnote').append("<div class='annnoteline'></div><div class='annnoteline'></div><div class='annnoteline'></div>");
$('.widgetNoteContainer').click(function () {
var wasSelected = $(this).hasClass('widgetNoteContainerSelected');
$('.widgetNoteContainerSelected').removeClass('widgetNoteContainerSelected');
if(!wasSelected) $(this).addClass('widgetNoteContainerSelected');
$axure.messageCenter.postMessage('toggleSelectWidgetNote', this.getAttribute('data-id'));
});
}
}
if(hasNotes) $('#pageNotesEmptyState').hide();
else $('#pageNotesEmptyState').show();
//If footnotes enabled for this prototype...
if($axure.document.configuration.showAnnotations == true) {
//If the fn var is defined and set to 0, hide footnotes
//else if hide-footnotes button selected, hide them
var fnVal = getHashStringVar(FOOTNOTES_VAR_NAME);
if(fnVal.length > 0 && fnVal == 0) {
$('#footnotesButton').removeClass('sitemapToolbarButtonSelected');
$axure.messageCenter.postMessage('annotationToggle', false);
} else if(!$('#footnotesButton').is('.sitemapToolbarButtonSelected')) {
//If the footnotes button isn't selected, hide them on this loaded page
$axure.messageCenter.postMessage('annotationToggle', false);
}
}
return false;
});
function linkify(text) {
var urlRegex = /(\b(((https?|ftp|file):\/\/)|(www\.))[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(urlRegex, function(url, b, c) {
var url2 = (c == 'www.') ? 'http://' + url : url;
return '<a href="' + url2 + '" target="_blank" class="noteLink">' + url + '</a>';
});
}
});
function updateContainerHeight() {
$('#pageNotesScrollContainer').height($('#pageNotesHost').height() - $('#pageNotesHeader').outerHeight());
}
$(document).on('sidebarCollapse', function (event, data) {
clearSelection();
});
$(document).on('pluginShown', function (event, data) {
if(data != 2) {
clearSelection();
}
});
function clearSelection() {
$('.widgetNoteContainerSelected').removeClass('widgetNoteContainerSelected');
$axure.messageCenter.postMessage('toggleSelectWidgetNote', '');
}
function footnotes_click(event) {
if($('#footnotesButton').is('.sitemapToolbarButtonSelected')) {
$('#footnotesButton').removeClass('sitemapToolbarButtonSelected');
$axure.messageCenter.postMessage('annotationToggle', false);
//Add 'fn' hash string var so that footnotes stay hidden across reloads
setVarInCurrentUrlHash(FOOTNOTES_VAR_NAME, 0);
} else {
$('#footnotesButton').addClass('sitemapToolbarButtonSelected');
$axure.messageCenter.postMessage('annotationToggle', true);
//Delete 'fn' hash string var if it exists since default is visible
deleteVarFromCurrentUrlHash(FOOTNOTES_VAR_NAME);
}
}
function notesNext_click(event) {
openNextPage();
}
function notesPrevious_click(event) {
openPreviousPage();
}
function generatePageNotes() {
var pageNotesUi = "<div id='pageNotesHeader'' class='sitemapHeader'>";
pageNotesUi += "<div id='pageNotesToolbar' class='sitemapToolbar'>";
pageNotesUi += "<div class='pluginNameHeader'>NOTES</div>";
pageNotesUi += "<div class='pageNameHeader'></div>";
pageNotesUi += "<div class='pageButtonHeader'>";
pageNotesUi += "<a id='notesPreviousButton' title='Previous Page' class='sitemapToolbarButton prevPageButton'></a>";
pageNotesUi += "<a id='notesNextButton' title='Next Page' class='sitemapToolbarButton nextPageButton'></a>";
if($axure.document.configuration.showAnnotations == true) {
pageNotesUi += "<a id='footnotesButton' title='Toggle Footnotes' class='sitemapToolbarButton'></a>";
}
pageNotesUi += "</div>";
pageNotesUi += "</div>";
pageNotesUi += "</div>";
pageNotesUi += "<div id='pageNotesScrollContainer'>";
pageNotesUi += "<div id='pageNotesContainer'>";
pageNotesUi += "<div id='pageNotesEmptyState' class='emptyStateContainer'><div class='emptyStateTitle'>No notes for this page.</div><div class='emptyStateContent'>Notes added in Axure RP will appear here.</div><div class='dottedDivider'></div></div>";
pageNotesUi += "<span id='pageNotesContent'></span>";
pageNotesUi += "</div></div>";
$('#pageNotesHost').html(pageNotesUi);
updateContainerHeight();
if(!$axure.document.configuration.showAnnotations) {
$('#pageNotesHost .pageNameHeader').css('padding-right', '55px');
}
}
})();
//***** debug.js *****//
// 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 == 'axCompositeEventMessage') {
for(var i = 0; i < data.length; i++) {
processMessages(data[i].message, data[i].data);
}
} else processMessages(message, data);
});
var processMessages = function(message, data) {
if(message == 'globalVariableValues') {
$('#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>');
}
} 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();
}
})();