1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // ******* 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);
- }
- };
- });
|