|
|
|
|
// ******* SITEMAP TOOLBAR VIEWER ACTIONS ******** //
|
|
|
|
|
$axure.internal(function ($ax) {
|
|
|
|
|
var userTriggeredEventNames = ['onClick', 'onDoubleClick', 'onMouseOver', 'onMouseMove', 'onMouseOut', 'onMouseDown', 'onMouseUp',
|
|
|
|
|
'onKeyDown', 'onKeyUp', 'onFocus', 'onLostFocus', 'onTextChange', 'onSelectionChange', 'onSelectedChange', 'onSelect', 'onUnselect',
|
|
|
|
|
'onSwipeLeft', 'onSwipeRight', 'onSwipeUp', 'onSwipeDown', 'onDragStart', 'onDrag', 'onDragDrop', 'onScroll', 'onContextMenu', 'onMouseHover', 'onLongClick'];
|
|
|
|
|
|
|
|
|
|
$ax.messageCenter.addMessageListener(function(message, data) {
|
|
|
|
|
//If annotation toggle message received from sitemap, toggle footnotes
|
|
|
|
|
if(message == 'annotationToggle') {
|
|
|
|
|
if(data == true) {
|
|
|
|
|
$('div.annotation').show();
|
|
|
|
|
$('div.annnotelabel').show();
|
|
|
|
|
$('div.annnoteimage').show();
|
|
|
|
|
} else {
|
|
|
|
|
$('div.annotation').hide();
|
|
|
|
|
$('div.annnotelabel').hide();
|
|
|
|
|
$('div.annnoteimage').hide();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var lastSelectedWidgetNote;
|
|
|
|
|
$ax.messageCenter.addMessageListener(function (message, data) {
|
|
|
|
|
//If annotation toggle message received from sitemap, toggle footnotes
|
|
|
|
|
if(message == 'toggleSelectWidgetNote') {
|
|
|
|
|
if(lastSelectedWidgetNote == data) {
|
|
|
|
|
$('#' + lastSelectedWidgetNote).removeClass('widgetNoteSelected');
|
|
|
|
|
lastSelectedWidgetNote = null;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(lastSelectedWidgetNote) $('#' + lastSelectedWidgetNote).removeClass('widgetNoteSelected');
|
|
|
|
|
$('#' + data).addClass('widgetNoteSelected');
|
|
|
|
|
lastSelectedWidgetNote = data;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var highlightEnabled = false;
|
|
|
|
|
$ax.messageCenter.addMessageListener(function(message, data) {
|
|
|
|
|
if(message == 'highlightInteractive') {
|
|
|
|
|
highlightEnabled = data == true;
|
|
|
|
|
_applyHighlight($ax('*'));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var _applyHighlight = $ax.applyHighlight = function(query, ignoreUnset) {
|
|
|
|
|
if(ignoreUnset && !highlightEnabled) return;
|
|
|
|
|
|
|
|
|
|
//Do condition to check if legacy browser (all IE, except 10) and select appropriate pulsate css class name
|
|
|
|
|
var userAgentString = navigator.userAgent.toLowerCase();
|
|
|
|
|
|
|
|
|
|
var isIEpre10 = userAgentString.indexOf('msie 9.') != -1 ||
|
|
|
|
|
userAgentString.indexOf('msie 8.') != -1 ||
|
|
|
|
|
userAgentString.indexOf('msie 7.') != -1 ||
|
|
|
|
|
userAgentString.indexOf('msie 6.') != -1;
|
|
|
|
|
|
|
|
|
|
var pulsateClassName = 'legacyPulsateBorder';
|
|
|
|
|
|
|
|
|
|
//Find all widgets with a defined userTriggeredEventName specified in the array above
|
|
|
|
|
var $matchingElements = query.filter(function(obj) {
|
|
|
|
|
if(obj.interactionMap) {
|
|
|
|
|
for(var index in userTriggeredEventNames) {
|
|
|
|
|
if(obj.interactionMap[userTriggeredEventNames[index]]) return true;
|
|
|
|
|
}
|
|
|
|
|
} else if ($ax.public.fn.IsVector(obj.type) && obj.referencePageUrl) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}).$();
|
|
|
|
|
|
|
|
|
|
var isHighlighted = $matchingElements.is('.' + pulsateClassName);
|
|
|
|
|
|
|
|
|
|
//Toggle the pulsate class on the matched elements
|
|
|
|
|
if(highlightEnabled && !isHighlighted) {
|
|
|
|
|
$matchingElements.addClass(pulsateClassName);
|
|
|
|
|
} else if(!highlightEnabled && isHighlighted) {
|
|
|
|
|
$matchingElements.removeClass(pulsateClassName);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
});
|