前端代码基本框架(由邱鑫涛完成,樊祥哲代传)

有模糊搜索,但无编辑删除功能的代码
F_X_Zhe 9 months ago
parent 67bdb359d0
commit 89143f95bf

@ -0,0 +1,7 @@
$axure.loadDocument(
(function() {
var _ = function() { var r={},a=arguments; for(var i=0; i<a.length; i+=2) r[a[i]]=a[i+1]; return r; }
var _creator = function() { return _(b,_(c,d,e,f,g,d,h,d,i,d,j,k,l,d,m,f,n,f,o,d,p,f),q,_(r,[_(s,t,u,v,w,x,y,t),_(s,z,u,A,w,B,y,C),_(s,D,u,E,w,B,y,F),_(s,G,u,H,w,B,y,I),_(s,t,u,J,w,x,y,t),_(s,K,u,L,w,B,y,M),_(s,N,u,O,w,B,y,P),_(s,Q,u,R,w,B,y,S)]),T,[U,V,W],X,[Y,Z,ba],bb,_(bc,t),bd,_(be,_(s,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,_(bp,bq,br,bs,bt,bu),bv,bw,bx,f,by,bz,bA,bl,bB,bl,bC,bD,bE,f,bF,_(bG,bH,bI,bH),bJ,_(bK,bH,bL,bH),bM,d,bN,f,bO,bf,bP,_(bp,bq,br,bQ),bR,_(bp,bq,br,bS),bT,bU,bV,bq,bt,bU,bW,bX,bY,bZ,ca,cb,cc,cb,cd,cb,ce,cb,cf,_(),cg,null,ch,null,ci,bX,cj,_(ck,f,cl,cm,cn,cm,co,cm,br,_(cp,cq,cr,cq,cs,cq,ct,cu)),cv,_(ck,f,cl,bH,cn,cm,co,cm,br,_(cp,cq,cr,cq,cs,cq,ct,cu)),cw,_(ck,f,cl,bu,cn,bu,co,cm,br,_(cp,cq,cr,cq,cs,cq,ct,cx)),cy,cz),cA,_(cB,_(s,cC),cD,_(s,cE,bo,_(bp,bq,br,bQ,bt,bu),bT,bX,bW,bn,bP,_(bp,bq,br,cF)),cG,_(s,cH),cI,_(s,cJ,bv,cK,bi,cL,bT,bX,bP,_(bp,bq,br,cM),by,cN,bY,cO,ca,bX,cc,bX,cd,bX,ce,bX),cP,_(s,cQ,bv,cR,bi,cL,bT,bX,bP,_(bp,bq,br,cM),by,cN,bY,cO,ca,bX,cc,bX,cd,bX,ce,bX),cS,_(s,cT,bg,cU,bi,cV,bv,cW,bT,bX,bP,_(bp,bq,br,cM),by,cN,bY,cO,ca,bX,cc,bX,cd,bX,ce,bX),cX,_(s,cY,bv,cZ,bi,cL,bT,bX,bP,_(bp,bq,br,cM),by,cN,bY,cO,ca,bX,cc,bX,cd,bX,ce,bX),da,_(s,db,bi,cL,bT,bX,bP,_(bp,bq,br,cM),by,cN,bY,cO,ca,bX,cc,bX,cd,bX,ce,bX),dc,_(s,dd,bv,de,bi,cL,bT,bX,bP,_(bp,bq,br,cM),by,cN,bY,cO,ca,bX,cc,bX,cd,bX,ce,bX),df,_(s,dg,bT,bX,bP,_(bp,bq,br,cM),by,cN,bY,cO,ca,bX,cc,bX,cd,bX,ce,bX),dh,_(s,di,bP,_(bp,bq,br,cM)),dj,_(s,dk,bo,_(bp,bq,br,dl,bt,bu),by,cN,bY,bZ),dm,_(s,dn),dp,_(s,dq,bo,_(bp,bq,br,dr,bt,bu)),ds,_(s,dt,bP,_(bp,bq,br,du)),dv,_(s,dw,bP,_(bp,dx,dy,_(bG,dz,bI,bH),dA,_(bG,dz,bI,bu),dB,[_(br,bQ,dC,bH),_(br,dD,dC,bH),_(br,dE,dC,bu),_(br,bQ,dC,bu)])),dF,_(s,dG,bR,_(bp,bq,br,dH),bT,cb),dI,_(s,dJ,bo,_(bp,bq,br,dr,bt,bu)),dK,_(s,dL,bP,_(bp,bq,br,du)),dM,_(s,dN),dO,_(s,dP),dQ,_(s,dR,bt,bU)),dS,_()));};
var b="configuration",c="showPageNotes",d=true,e="showPageNoteNames",f=false,g="showAnnotations",h="showAnnotationsSidebar",i="showConsole",j="linkStyle",k="displayMultipleTargetsOnly",l="linkFlowsToPages",m="linkFlowsToPagesNewWindow",n="useLabels",o="useViews",p="loadFeedbackPlugin",q="sitemap",r="rootNodes",s="id",t="",u="pageName",v="药品库存管理",w="type",x="Folder",y="url",z="bs26ww",A="入库信息",B="Wireframe",C="入库信息.html",D="hepmzs",E="出库信息",F="出库信息.html",G="3zb8g6",H="药品保质期检查",I="药品保质期检查.html",J="药品明细查询",K="f75kfm",L="供应商信息",M="供应商信息.html",N="jpz4b2",O="药品信息",P="药品信息.html",Q="d92ta3",R="账单信息",S="账单信息.html",T="additionalJs",U="plugins/sitemap/sitemap.js",V="plugins/page_notes/page_notes.js",W="plugins/debug/debug.js",X="additionalCss",Y="plugins/sitemap/styles/sitemap.css",Z="plugins/page_notes/styles/page_notes.css",ba="plugins/debug/styles/debug.css",bb="globalVariables",bc="onloadvariable",bd="stylesheet",be="defaultStyle",bf="627587b6038d43cca051c114ac41ad32",bg="fontName",bh="'Arial Normal', 'Arial'",bi="fontWeight",bj="400",bk="fontStyle",bl="normal",bm="fontStretch",bn="5",bo="foreGroundFill",bp="fillType",bq="solid",br="color",bs=0xFF333333,bt="opacity",bu=1,bv="fontSize",bw="13px",bx="underline",by="horizontalAlignment",bz="center",bA="lineSpacing",bB="characterSpacing",bC="letterCase",bD="none",bE="strikethrough",bF="location",bG="x",bH=0,bI="y",bJ="size",bK="width",bL="height",bM="visible",bN="limbo",bO="baseStyle",bP="fill",bQ=0xFFFFFFFF,bR="borderFill",bS=0xFF797979,bT="borderWidth",bU="1",bV="linePattern",bW="cornerRadius",bX="0",bY="verticalAlignment",bZ="middle",ca="paddingLeft",cb="2",cc="paddingTop",cd="paddingRight",ce="paddingBottom",cf="stateStyles",cg="image",ch="imageFilter",ci="rotation",cj="outerShadow",ck="on",cl="offsetX",cm=5,cn="offsetY",co="blurRadius",cp="r",cq=0,cr="g",cs="b",ct="a",cu=0.349019607843137,cv="innerShadow",cw="textShadow",cx=0.647058823529412,cy="viewOverride",cz="19e82109f102476f933582835c373474",cA="customStyles",cB="box_1",cC="4b7bfc596114427989e10bb0b557d0ce",cD="primary_button",cE="cd64754845384de3872fb4a066432c1f",cF=0xFF169BD5,cG="_形状",cH="40519e9ec4264601bfb12c514e4f4867",cI="_一级标题",cJ="1111111151944dfba49f67fd55eb1f88",cK="32px",cL="bold",cM=0xFFFFFF,cN="left",cO="top",cP="_二级标题",cQ="b3a15c9ddde04520be40f94c8168891e",cR="24px",cS="_三级标题",cT="8c7a4c5ad69a4369a5f7788171ac0b32",cU="'Arial Negreta', 'Arial Normal', 'Arial'",cV="700",cW="18px",cX="_四级标题",cY="e995c891077945c89c0b5fe110d15a0b",cZ="14px",da="_五级标题",db="386b19ef4be143bd9b6c392ded969f89",dc="_六级标题",dd="fc3b9a13b5574fa098ef0a1db9aac861",de="10px",df="_文本段落",dg="4988d43d80b44008a4a415096f1632af",dh="line",di="619b2148ccc1497285562264d51992f9",dj="text_field",dk="44157808f2934100b68f2394a66b2bba",dl=0xFF000000,dm="table_cell",dn="33ea2511485c479dbf973af3302f2352",dp="_表单提示",dq="4889d666e8ad4c5e81e59863039a5cc0",dr=0xFF999999,ds="_表单禁用",dt="9bd0236217a94d89b0314c8c7fc75f16",du=0xFFF0F0F0,dv="_流程形状",dw="df01900e3c4e43f284bafec04b0864c4",dx="linearGradient",dy="startPoint",dz=0.5,dA="endPoint",dB="stops",dC="offset",dD=0xFFF2F2F2,dE=0xFFE4E4E4,dF="_连接",dG="699a012e142a4bcba964d96e88b88bdf",dH=0xFF0099CC,dI="form_hint",dJ="3c35f7f584574732b5edbd0cff195f77",dK="form_disabled",dL="2829faada5f8449da03773b96e566862",dM="_文本链接",dN="987eec29ca4c4c97937cb1ae8f77fc47",dO="_链接悬停",dP="9793259867b64a17b69875a515e95883",dQ="_链接按下",dR="11cc7671b2a4477baa35ad63eb19b65e",dS="duplicateStyles";
return _creator();
})());

@ -0,0 +1,92 @@
.ax_default {
font-family:'Arial Normal', 'Arial';
font-weight:400;
font-style:normal;
font-size:13px;
letter-spacing:normal;
color:#333333;
vertical-align:none;
text-align:center;
line-height:normal;
text-transform:none;
}
.box_1 {
}
.primary_button {
color:#FFFFFF;
}
._ {
}
._ {
font-family:'Arial Normal', 'Arial';
font-weight:bold;
font-style:normal;
font-size:32px;
text-align:left;
}
._ {
font-family:'Arial Normal', 'Arial';
font-weight:bold;
font-style:normal;
font-size:24px;
text-align:left;
}
._ {
font-family:'Arial Negreta', 'Arial Normal', 'Arial';
font-weight:700;
font-style:normal;
font-size:18px;
text-align:left;
}
._ {
font-family:'Arial Normal', 'Arial';
font-weight:bold;
font-style:normal;
font-size:14px;
text-align:left;
}
._ {
font-family:'Arial Normal', 'Arial';
font-weight:bold;
font-style:normal;
text-align:left;
}
._ {
font-family:'Arial Normal', 'Arial';
font-weight:bold;
font-style:normal;
font-size:10px;
text-align:left;
}
._ {
text-align:left;
}
.line {
}
.text_field {
color:#000000;
text-align:left;
}
.table_cell {
}
._ {
color:#999999;
}
._ {
}
._ {
}
._ {
}
.form_hint {
color:#999999;
}
.form_disabled {
}
._ {
}
._ {
}
._ {
}
textarea, select, input, button { outline: none; }

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="859px" height="2px" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(1 0 0 1 -164 -39 )">
<path d="M 164 39.5 L 1022 39.5 " stroke-width="1" stroke="#000000" fill="none" stroke-opacity="0.490196078431373" />
</g>
</svg>

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

@ -0,0 +1,149 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Untitled Document</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, viewport-fit=cover" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link type="text/css" href="resources/css/reset.css" rel="Stylesheet" />
<link type="text/css" href="resources/css/default.css" rel="Stylesheet" />
<link rel="shortcut icon" href="resources/images/favicon_play.ico" />
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600' rel='stylesheet'>
<script type="text/javascript">
if (location.href.toString().indexOf('file://localhost/') == 0) {
location.href = location.href.toString().replace('file://localhost/', 'file:///');
}
</script>
<!--<link type="text/css" rel="Stylesheet" href="plugins/sitemap/styles/sitemap.css" />
<link type="text/css" rel="Stylesheet" href="plugins/page_notes/styles/page_notes.css" />
<link type="text/css" rel="Stylesheet" href="plugins/debug/styles/debug.css" />
<link type="text/css" rel="Stylesheet" href="plugins/handoff/styles/handoff.css" />
<link type="text/css" rel="Stylesheet" href="plugins/handoff/styles/codemirror.css" />-->
</head>
<body scroll="no" class="hashover" style="overflow: hidden;">
<div id="topPanel">
<div id="interfaceControlFrame">
<div id="interfaceControlFrameLeft">
<div id="interfaceControlFrameMinimizeContainer">
<a title="Collapse" id="interfaceControlFrameMinimizeButton">
<div id="minimizeArrow" class="minimizeButtonHover minimizeIcon"></div>
<div id="minimizeX" class="minimizeButton minimizeIcon"></div>
</a>
</div>
<div id="interfaceControlFrameCloseContainer">
<a title="Close" id="interfaceControlFrameCloseButton">CLOSE</a>
</div>
<div id="sitemapControlFrameContainer" title="Project Pages">
<div id="projectControlFrameHeaderContainer">
<ul id="projectControlFrameHeader"></ul>
</div>
<div id="interfacePageNameContainer">
<div id="interfacePageNameButton" class='pageNameHeader'>
&nbsp;
</div>
</div>
</div>
<div id="interfaceAdaptiveViewsContainer" title="Adaptive Views">
<div id="interfaceAdaptiveViewsIconButton">&nbsp;</div>
<div id="interfaceAdaptiveViewsButton" class='adaptiveViewHeader'>
&nbsp;
</div>
<div id="adaptiveViewsDropdown" class="caret"></div>
</div>
</div>
<div id="interfaceControlFrameContainer">
<div id="handoffControlFrameHeaderContainer">
<ul id="handoffControlFrameHeader"></ul>
</div>
<div id="interfaceControlFrameLogoContainer">
<div id="previewNotice">
Local Preview
</div>
</div>
</div>
<div id="interfaceControlFrameRight">
<div id="publishContainer">
<a id="publishButton">Share Prototype</a>
</div>
<div id="inspectControlFrameHeaderContainer">
<ul id="inspectControlFrameHeader">
<li id="overflowBtn">
<a id="overflowMenuButton" title="View Options"></a>
</li>
</ul>
</div>
<div id="separatorContainer">
<div class="separator"></div>
</div>
<div id="overflowMadeWith"><a href="https://www.axure.com" id="axureLogo" target="_blank"></a></div>
</div>
</div>
</div>
<div id="popupContainer">
<div id='interfaceAdaptiveViewsListContainer'>
</div>
<div id='interfaceScaleListContainer'>
</div>
<div id='accountLoginContainer'>
</div>
<div id='overflowMenuContainer'>
</div>
</div>
<div id="outerContainer">
<div id="clippingBounds">
<div id="clippingBoundsScrollContainer"></div>
</div>
<div id="mHideSidebar"></div>
<div id="lsplitbar" class="splitbar"></div>
<div id="mainPanel">
<div id="mainPanelContainer" style="position: relative; width:100%; height: 100%;">
<div id="clipFrameScroll" style="position: relative; width:100%; height: 100%; background-color: #ffffff;">
<iframe id="mainFrame" name="mainFrame" width="100%" height="100%" src="about:blank" frameborder="0" style="display: block;position:absolute;" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>
</div>
</div>
<div id="rsplitbar" class="splitbar"></div>
</div>
<div id="maximizePanelContainer" class="maximizePanelContainer">
<div id="maximizePanelOver">
<div id="maximizePanel" title="Expand" class="maximizePanelOver">
<div id="maximizeButton" class="maximizeButton maximizeIcon"></div>
</div>
</div>
</div>
<div id="mobileControlFrameContainer"></div>
<!-- 9.0.0.3664 -->
<script src="resources/scripts/jquery-3.2.1.min.js"></script>
<script src="resources/scripts/axure/jquery.nicescroll.min.js"></script>
<script src="resources/scripts/axutils.js"></script>
<script src="resources/scripts/messagecenter.js"></script>
<script src="resources/scripts/player/axplayer.js"></script>
<script src="resources/scripts/player/init.js"></script>
</body>
</html>

@ -0,0 +1,171 @@
// use this to isolate the scope
(function () {
if(!$axure.document.configuration.showConsole) { return; }
$(document).ready(function () {
$axure.player.createPluginHost({
id: 'debugHost',
context: 'inspect',
title: 'Console',
gid: 3
});
generateDebug();
$('#variablesClearLink').click(clearvars_click);
$('#traceClear').click(cleartrace_click);
$('#traceToggle').click(stoptrace_click);
$('#traceStart').click(starttrace_click);
$('#traceClear').hide();
$('#traceToggle').hide();
$('#closeConsole').click(close);
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="variableList"><div class="variableName">' + key + '</div><div class="variableValue">' + value + '</div></div>');
}
} else if(message == 'axEvent') {
var addToStack = "<div class='axEventBlock'>";
addToStack += "<div class='axEventContainer'>";
addToStack += " <div class='axTime'>" + new Date().toLocaleTimeString() + "</div>";
addToStack += " <div class='axEvent'>" + data.event.description + ": </div>";
addToStack += " <div class='axLabel'>" + data.label + " (" + data.type + ")</div>";
addToStack += "</div>";
currentStack.push(addToStack);
} else if (message == 'axEventComplete') {
currentStack[currentStack.length - 1] += "</div>";
finishedStack.push(currentStack.pop());
if(currentStack.length == 0) {
$('#traceEmptyState').hide();
$('#traceClear').show();
$('#traceToggle').show();
for(var i = finishedStack.length - 1; i >= 0; i--) {
if($('#traceDiv').children().length > 99) $('#traceDiv').children().last().remove();
$('#traceDiv').prepend(finishedStack[i]);
}
finishedStack = [];
}
} else if (message == 'axCase') {
//var addToStack = "<div class='axCaseContainer' style='background-color: #" + data.color + "'>";
var addToStack = "<div class='axCaseContainer'>";
addToStack += " <div class='axCaseItem'>" + data.item + "</div>";
if (data.description) { addToStack += " <div class='axCaseDescription' title='" + data.description + "'>" + data.description + "</div>" };
addToStack += "</div>";
currentStack[currentStack.length - 1] += addToStack;
} else if (message == 'axAction') {
var addToStack = "<div class='axActionContainer'>";
addToStack += " <div class='axActionItem'>" + data.name + "</div>";
//addToStack += " <div class='axActionItem'>" + data.item + "</div>";
//if (data.description) { addToStack += " <div class='axActionDescription' title='" + data.description + "'>" + data.description + "</div>" };
addToStack += "</div>";
currentStack[currentStack.length - 1] += addToStack;
} else if (message == 'axInfo') {
var addToStack = "<div class='axInfoContainer'>";
addToStack += " <div class='axInfoItem'>" + data.item + "</div>";
if (data.description) { addToStack += " <div class='axInfoDescription' title='" + data.longDescription + "'>" + data.description + "</div>" };
addToStack += "</div>";
currentStack[currentStack.length - 1] += addToStack;
}
}
// bind to the page load
$axure.page.bind('load.debug', function () {
var traceStr = $axure.player.getHashStringVar(TRACE_VAR_NAME);
if (traceStr.length > 0) $axure.messageCenter.setState("isTracing", true);
else $axure.messageCenter.setState("isTracing", false);
$axure.messageCenter.postMessage('getGlobalVariables', '');
return false;
});
function clearvars_click(event) {
$axure.messageCenter.postMessage('resetGlobalVariables', '');
}
function close() {
$axure.player.pluginClose("debugHost");
}
function cleartrace_click(event) {
$('#traceDiv').html('');
}
function starttrace_click(event) {
$axure.messageCenter.setState("isTracing", true);
//$('#traceDiv').html('');
$('#traceEmptyState').hide();
$('#traceClear').show();
$('#traceToggle').text('Stop Trace');
$('#traceToggle').off("click");
$('#traceToggle').click(stoptrace_click);
$('#traceToggle').show();
console.log("starting trace");
$axure.player.setVarInCurrentUrlHash(TRACE_VAR_NAME, 1);
}
function stoptrace_click(event) {
$axure.messageCenter.setState("isTracing", false);
$('#traceDiv').prepend('<div class="tracePausedNotification">Trace Paused<div>');
$('#traceToggle').text('Restart Trace');
$('#traceToggle').off("click");
$('#traceToggle').click(starttrace_click);
console.log("stopping trace");
$axure.player.deleteVarFromCurrentUrlHash(TRACE_VAR_NAME);
}
});
function generateDebug() {
var pageNotesUi = "<div id='debugHeader'>";
pageNotesUi += "<div id='debugToolbar'>";
pageNotesUi += "<div id='consoleTitle' class='pluginNameHeader'>Console</div>";
pageNotesUi += "</div>";
pageNotesUi += "</div>";
pageNotesUi += "<div id='variablesContainer' style='max-height:300px; overflow-y:auto'>";
pageNotesUi += "<div id='variablesTitle' class='sectionTitle'>Variables</div>";
pageNotesUi += "<a id='variablesClearLink' class='traceOption'>Reset Variables</a>";
pageNotesUi += "<div id='variablesDiv'></div></div>";
pageNotesUi += "<div id='traceContainer'>";
pageNotesUi += "<div id='traceHeader'>";
pageNotesUi += "<span class='sectionTitle'>Trace</span><a id='traceClear' class='traceOption'>Clear Trace</a><a id='traceToggle' class='traceOption'>Stop Trace</a>";
pageNotesUi += "</div>";
pageNotesUi += "</div>";
pageNotesUi += "<div id='debugScrollContainer'>";
pageNotesUi += "<div id='debugContainer'>";
pageNotesUi += "<div id='traceEmptyState'>";
pageNotesUi += "<div class='startInstructions'>Click the button below to start recording interactions as you click through the prototype.</div>";
pageNotesUi += "<div id='traceStart' class='startButton'>Start Trace</div>";
pageNotesUi += "</div>";
pageNotesUi += "<div id='traceDiv'></div></div>";
pageNotesUi += "</div></div>";
$('#debugHost').html(pageNotesUi);
$('#traceEmptyState').show();
}
})();

@ -0,0 +1,265 @@
#debugHost {
display: flex;
flex-direction: column;
font-size: 13px;
color: #4a4a4a;
height: 100%;
}
#debugHostBtn {
order: 4;
}
#debugHostBtn a {
background: url('images/console_panel_on.svg') no-repeat center center, linear-gradient(transparent, transparent);
}
#debugHostBtn a.selected, #debugHostBtn a.selected:hover {
background: url('images/console_panel_off.svg') no-repeat center center, linear-gradient(transparent, transparent);
}
#debugToolbar {
margin-left: 8px;
}
#variablesClearLink {
display: inline-block;
margin-bottom: 15px;
}
#variablesClearLink:hover {
color: #0a6cd6;
}
#traceClearLink {
display: inline-block;
margin-bottom: 15px;
}
#traceClearLink:hover {
color: #0a6cd6;
}
#debugScrollContainer
{
overflow: auto;
width: 100%;
-webkit-overflow-scrolling: touch;
flex: 1;
}
#debugContainer {
padding: 10px 0px 10px 0px;
}
#consoleTitle {
clear: right;
margin: 12px 0px;
}
.variableName
{
font-weight: bold;
}
.variableDiv
{
margin-bottom: 20px;
line-height: 16px;
}
#variablesDiv
{
clear: right;
}
#variablesContainer {
border-bottom: solid 1px #e7e7e7;
padding: 0px 10px 12px 10px;
}
#traceContainer {
margin-bottom: 5px;
padding: 15px 10px 0px 10px;
}
#variablesTitle {
margin-bottom: 9px;
}
.sectionTitle {
font-size: 11px;
color: #2c2c2c;
display: inline-block;
}
.debugToolbarButton
{
font-size: 1em;
color: #069;
}
.axEventBlock {
display: inline-block;
width: 100%;
margin: 5px 0px 5px 0px;
line-height: 21px;
border-bottom: solid 5px #e7e7e7;
}
.axEventContainer {
background-color: #e7e7e7;
padding: 0px 10px 0px 10px;
}
.axTime {
margin: 0px 0px 0px 5px;
font-size: 10px;
color: #575757;
display: inline-block;
float: right;
}
.axLabel {
display: inline-block;
}
.axEvent {
margin: 0px 0px 2px 0px;
font-size: 15px;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
}
.axCaseContainer, .axActionContainer, .axInfoContainer {
justify-content: space-between;
padding: 0px 10px 0px 10px;
}
.axCaseContainer {
border-top: solid 2px #e7e7e7;
/*background-color: #47b6b5;*/
background-color: #e7e7e7;
/*color: #ffffff;*/
}
.axActionContainer {
border-top: solid 3px #e7e7e7;
}
.axInfoContainer {
border-top: solid 1px #e7e7e7;
}
.axCaseItem, .axActionItem, .axInfoItem {
overflow: hidden;
text-overflow: ellipsis;
}
.axCaseItem {
font-size: 15px;
font-weight: bold;
}
.axActionItem {
font-weight: bold;
}
.axInfoItem {
color: #8c8c8c;
}
.axCaseDescription {
flex: 5 0 33%;
margin-left: 10px;
text-align: right;
}
/*.axActionDescription, .axInfoDescription {
flex: 5 0 33%;
margin-left: 10px;
text-align: right;
}*/
.axCaseDescription, .axActionDescription {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.axInfoDescription, .axActionDescription {
color: #8c8c8c;
font-size: 11px;
}
.variableName {
width: 55%;
line-height: 0.92;
text-align: left;
color: #0891b3;
display: inline-block;
word-wrap: break-word;
vertical-align: top;
}
.variableValue {
width: 45%;
line-height: 0.92;
text-align: right;
color: #373d48;
display: inline-block;
word-wrap: break-word;
}
.traceEvent {
border-bottom: solid 1px #e7e7e7;
}
.tracePausedNotification {
height: 25px;
/*background-color: #e7e7e7;*/
border-radius: 5px;
line-height: 25px;
margin: 5px 10px;
text-align: center
}
#traceEmptyState.emptyStateContainer {
margin-top: 0px;
}
.variableList{
width: 100%;
margin-bottom: 4px;
}
.traceOption {
margin-left: 11px;
height: 16px;
float: right;
font-size: 12px;
font-style: italic;
line-height: 1.45;
text-align: right;
color: #8c8c8c;
text-decoration: underline;
display: inline-block;
}
.startInstructions {
margin: auto;
width: 179px;
font-size: 11px;
text-align: center;
color: #666666;
}
.startButton {
margin: auto;
margin-top: 10px;
width: 181px;
height: 24px;
border-radius: 2px;
border: solid 1px #008fe0;
text-align: center;
line-height: 24px;
color: #008fe0;
cursor: pointer;
}
.debugLinksContainer {
text-align: right;
}

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path fill="#008DCB" fill-rule="evenodd" d="M14 2.5l-2 1V2H2v12h12v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v1.5zm-2.981 3.702c.78-1.06 1.407-1.803 1.882-2.23.475-.428.938-.641 1.389-.641.54 0 .913.184 1.118.553.11.192.164.424.164.698 0 .28-.113.536-.339.769a1.1 1.1 0 0 1-.82.348c-.198 0-.422-.075-.672-.225-.25-.15-.439-.226-.569-.226-.253 0-.494.13-.723.39-.229.26-.623.81-1.184 1.65l.195 1.026c.102.526.188.959.256 1.297.069.338.144.651.226.938.11.397.219.684.328.862.11.177.27.266.482.266.191 0 .424-.14.697-.42.15-.15.38-.427.687-.83l.43.297a8.113 8.113 0 0 1-1.409 1.733c-.578.546-1.143.82-1.697.82-.465 0-.848-.192-1.148-.574-.171-.205-.322-.486-.452-.841a11.32 11.32 0 0 1-.282-.98 24.82 24.82 0 0 0-.23-.866l-.144.246c-.677 1.162-1.172 1.918-1.487 2.266-.471.52-1.018.78-1.64.78-.356 0-.665-.122-.928-.364a1.172 1.172 0 0 1-.395-.898c0-.294.097-.565.292-.815.195-.25.467-.374.815-.374.212 0 .474.075.785.226.31.15.514.225.61.225.212 0 .395-.094.548-.282.154-.188.457-.654.908-1.4l.41-.676c-.068-.287-.142-.64-.22-1.056-.079-.417-.16-.845-.241-1.282l-.164-.872c-.117-.629-.301-1.042-.554-1.24-.144-.117-.38-.175-.708-.175a14.992 14.992 0 0 0-.636.051v-.564c.616-.075 1.29-.17 2.026-.287a52.738 52.738 0 0 0 1.471-.246c.205.274.374.605.508.995.133.39.234.803.302 1.24l.113.688z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path fill="#6D6D6D" fill-rule="evenodd" d="M14 2.5l-2 1V2H2v12h12v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v1.5zm-2.981 3.702c.78-1.06 1.407-1.803 1.882-2.23.475-.428.938-.641 1.389-.641.54 0 .913.184 1.118.553.11.192.164.424.164.698 0 .28-.113.536-.339.769a1.1 1.1 0 0 1-.82.348c-.198 0-.422-.075-.672-.225-.25-.15-.439-.226-.569-.226-.253 0-.494.13-.723.39-.229.26-.623.81-1.184 1.65l.195 1.026c.102.526.188.959.256 1.297.069.338.144.651.226.938.11.397.219.684.328.862.11.177.27.266.482.266.191 0 .424-.14.697-.42.15-.15.38-.427.687-.83l.43.297a8.113 8.113 0 0 1-1.409 1.733c-.578.546-1.143.82-1.697.82-.465 0-.848-.192-1.148-.574-.171-.205-.322-.486-.452-.841a11.32 11.32 0 0 1-.282-.98 24.82 24.82 0 0 0-.23-.866l-.144.246c-.677 1.162-1.172 1.918-1.487 2.266-.471.52-1.018.78-1.64.78-.356 0-.665-.122-.928-.364a1.172 1.172 0 0 1-.395-.898c0-.294.097-.565.292-.815.195-.25.467-.374.815-.374.212 0 .474.075.785.226.31.15.514.225.61.225.212 0 .395-.094.548-.282.154-.188.457-.654.908-1.4l.41-.676c-.068-.287-.142-.64-.22-1.056-.079-.417-.16-.845-.241-1.282l-.164-.872c-.117-.629-.301-1.042-.554-1.24-.144-.117-.38-.175-.708-.175a14.992 14.992 0 0 0-.636.051v-.564c.616-.075 1.29-.17 2.026-.287a52.738 52.738 0 0 0 1.471-.246c.205.274.374.605.508.995.133.39.234.803.302 1.24l.113.688z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,474 @@
// use this to isolate the scope
(function () {
// No notes shown specified by generation config
if (!$axure.document.configuration.showPageNotes && !$axure.document.configuration.showAnnotationsSidebar && !$axure.document.configuration.showAnnotations) { return; }
$(window.document).ready(function () {
// Load right panel for Page Notes
if ($axure.document.configuration.showPageNotes || $axure.document.configuration.showAnnotationsSidebar) {
$axure.player.createPluginHost({
id: 'pageNotesHost',
context: 'inspect',
title: 'Documentation',
gid: 2,
});
}
// Load footnotes on widgets
if ($axure.document.configuration.showAnnotations) {
$('#overflowMenuContainer').prepend('<div id="showNotesOption" class="showOption" style="order: 3"><div class="overflowOptionCheckbox"></div>Show Note Markers</div>');
}
createNotesOverlay();
generatePageNotes();
if ($axure.player.isMobileMode()) {
$('#showNotesOption').hide();
} else {
$('#showNotesOption').click(footnotes_click);
$('#showNotesOption').find('.overflowOptionCheckbox').addClass('selected');
}
function populateNotes(pageForNotes) {
var hasNotes = false;
if ($axure.document.configuration.showPageNotes) {
var pageNoteUi = '';
function populatePageNotes(pageOrMaster) {
//populate the page notes
var notes = pageOrMaster.notes;
if (notes && !$.isEmptyObject(notes)) {
pageNoteUi += "<div class='notesPageNameHeader'>" + pageOrMaster.pageName + "</div>";
var showNames = $axure.document.configuration.showPageNoteNames;
for(var noteName in notes) {
pageNoteUi += "<div class='pageNoteContainer'>";
if(showNames) {
pageNoteUi += "<div class='pageNoteName'>" + noteName + "</div>";
}
pageNoteUi += "<div class='pageNote'>" + linkify(notes[noteName]) + "</div>";
pageNoteUi += "</div>";
//$('#pageNotesContent').append(pageNoteUi);
hasNotes = true;
}
}
}
populatePageNotes(pageForNotes);
if (pageForNotes.masterNotes) {
for (var i = 0; i < pageForNotes.masterNotes.length; i++) {
populatePageNotes(pageForNotes.masterNotes[i]);
}
}
if (pageNoteUi.length > 0) {
pageNoteUi += "<div class='lineDivider'></div>";
var pageNotesHeader = "<div id='pageNotesSectionHeader' class='notesSectionHeader pluginNameHeader'>Page Notes</div>";
$('#pageNotesContent').append(pageNotesHeader + pageNoteUi);
}
}
if ($axure.document.configuration.showAnnotationsSidebar) {
var widgetNoteUi = '';
//var widgetNotes = pageForNotes.widgetNotes;
function populateWidgetNotes(widgetNotes){
if (widgetNotes) {
for (var i = 0; i < widgetNotes.length; i++) {
var widgetNote = widgetNotes[i];
widgetNoteUi += "<div class='widgetNoteContainer' data-id='" + widgetNote["ownerId"] + "'>";
widgetNoteUi += "<div class='widgetNoteFootnote'>" + widgetNote["fn"] + "</div>";
widgetNoteUi += "<div class='widgetNoteLabel'>" + widgetNote["label"] + "</div>";
for (var widgetNoteName in widgetNote) {
if (widgetNoteName != "label" && widgetNoteName != "fn" && widgetNoteName != "ownerId") {
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;
}
}
}
populateWidgetNotes(pageForNotes.widgetNotes);
if (pageForNotes.masterNotes) {
for (var i = 0; i < pageForNotes.masterNotes.length; i++) {
populateWidgetNotes(pageForNotes.masterNotes[i].widgetNotes);
}
}
if (widgetNoteUi.length > 0) {
var widgetNotesHeader = "<div id='widgetNotesSectionHeader' class='notesSectionHeader pluginNameHeader'>Widget Notes</div>";
$('#pageNotesContent').append(widgetNotesHeader + widgetNoteUi);
//$('.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');
var dimStr = $('.currentAdaptiveView').attr('data-dim');
var h = dimStr ? dimStr.split('x')[1] : '0';
var $leftPanel = $('.leftPanel:visible');
var leftPanelOffset = (!$axure.player.isMobileMode() && $leftPanel.length > 0) ? $leftPanel.width() : 0;
var $rightPanel = $('.rightPanel:visible');
var rightPanelOffset = (!$axure.player.isMobileMode() && $rightPanel.length > 0) ? $rightPanel.width() : 0;
var viewDimensions = {
h: h != '0' ? h : '',
scaleVal: $('.vpScaleOption').find('.selectedRadioButton').parent().attr('val'),
height: $('.rightPanel').height(),
panelWidthOffset: leftPanelOffset + rightPanelOffset
};
$axure.messageCenter.postMessage('toggleSelectWidgetNote', { id: this.getAttribute('data-id'), value: !wasSelected, view: viewDimensions});
});
}
//if (pageForNotes.masterNotes) {
// for (var i = 0; i < pageForNotes.masterNotes.length; i++) {
// var master = pageForNotes.masterNotes[i];
// hasNotes = populateNotes(master) || hasNotes;
// }
//}
}
return hasNotes;
}
// bind to the page load
$axure.page.bind('load.page_notes', function () {
closeAllDialogs();
var hasNotes = false;
$('#pageNotesContent').html("");
hasNotes = populateNotes($axure.page);
if(hasNotes) $('#pageNotesEmptyState').hide();
else $('#pageNotesEmptyState').show();
//If footnotes enabled for this prototype...
if ($axure.player.isMobileMode()) {
$axure.messageCenter.postMessage('annotationToggle', false);
} else 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 = $axure.player.getHashStringVar(FOOTNOTES_VAR_NAME);
if(fnVal.length > 0 && fnVal == 0) {
$('#showNotesOption').find('.overflowOptionCheckbox').removeClass('selected');
$axure.messageCenter.postMessage('annotationToggle', false);
} else if(!$('#showNotesOption').find('.overflowOptionCheckbox').hasClass('selected')) {
//If the footnotes button isn't selected, hide them on this loaded page
$axure.messageCenter.postMessage('annotationToggle', false);
}
}
// Get multiple click call if not removing beforehand
$('#notesOverlay').off('click');
$('#notesOverlay').on('click', '.closeNotesDialog', function () {
var ownerId = $(this).attr("data-ownerid");
_toggleAnnDialog(ownerId);
});
$axure.player.updatePlugins();
return false;
});
$axure.messageCenter.addMessageListener(function (message, data) {
//var messageData = { id: elementId, x: event.pageX, y: event.pageY }
if (message == 'toggleAnnDialog') {
_toggleAnnDialog(data.id, data.x, data.y, data.page);
}
});
});
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 getWidgetNotesHtml(ownerId, page) {
var pageForNotes = page || $axure.page;
var widgetNoteUi = '';
widgetNoteUi += "<div data-ownerid='" + ownerId + "' class='closeNotesDialog'></div>";
widgetNoteUi += "<div class='notesDialogScroll'>";
function getNotesForPage(widgetNotes) {
for (var i = 0; i < widgetNotes.length; i++) {
var widgetNote = widgetNotes[i];
if (widgetNote["ownerId"] == ownerId) {
widgetNoteUi += "<div class='widgetNoteContainer' data-id='" + widgetNote["ownerId"] + "'>";
widgetNoteUi += "<div class='widgetNoteFootnote'>" + widgetNote["fn"] + "</div>";
widgetNoteUi += "<div class='widgetNoteLabel'>" + widgetNote["label"] + "</div>";
for (var widgetNoteName in widgetNote) {
if (widgetNoteName != "label" && widgetNoteName != "fn" && widgetNoteName != "ownerId") {
widgetNoteUi += "<div class='pageNoteName'>" + widgetNoteName + "</div>";
widgetNoteUi += "<div class='pageNote'>" + linkify(widgetNote[widgetNoteName]) + "</div>";
}
}
widgetNoteUi += "</div>";
}
}
}
getNotesForPage(pageForNotes.widgetNotes);
if (pageForNotes.masterNotes) {
for (var i = 0; i < pageForNotes.masterNotes.length; i++) {
getNotesForPage(pageForNotes.masterNotes[i].widgetNotes);
}
}
widgetNoteUi += "</div>";
widgetNoteUi += "<div class='resizeNotesDialog'></div>";
return widgetNoteUi;
}
var maxZIndex = 1;
var dialogs = {};
var _toggleAnnDialog = function (id, srcLeft, srcTop, page) {
if(dialogs[id]) {
var $dialog = dialogs[id];
// reset the dialog
dialogs[id] = undefined;
$dialog.find('.notesDialogScroll').getNiceScroll().remove();
$dialog.remove();
return;
}
var bufferH = 10;
var bufferV = 10;
var blnLeft = false;
var blnAbove = false;
var mfPos = $('#mainPanelContainer').position();
var viewablePanelLeftMargin = parseInt($('#mainPanelContainer').css('margin-left'));
var sourceTop = srcTop + mfPos.top;
var sourceLeft = srcLeft + viewablePanelLeftMargin;
var width = 300;
var height = 300;
if(sourceLeft > width + bufferH) {
blnLeft = true;
}
if(sourceTop > height + bufferV) {
blnAbove = true;
}
var top = 0;
var left = 0;
if(blnAbove) top = sourceTop - height - 20;
else top = sourceTop + 10;
if(blnLeft) left = sourceLeft - width - 4;
else left = sourceLeft - 6;
//need to set the zindex
maxZIndex = maxZIndex + 1;
var $dialog = $('<div class="notesDialog"></div>')
.appendTo('#notesOverlay')
.html(getWidgetNotesHtml(id, page));
$dialog.css({ 'left': left, 'top': top, 'z-index': maxZIndex });
$dialog.find('.notesDialogScroll').niceScroll({ cursorcolor: "#8c8c8c", cursorborder: "0px solid #fff" });
$dialog.find('.notesDialogScroll').on($axure.eventNames.mouseDownName, function(event) {
event.stopPropagation();
});
$dialog.find('.closeNotesDialog').on($axure.eventNames.mouseDownName, function (event) {
event.stopPropagation();
});
$dialog.on($axure.eventNames.mouseDownName, startDialogMove);
var startMouseX;
var startMouseY;
var startDialogX;
var startDialogY;
function startDialogMove() {
startMouseX = window.event.pageX;
startMouseY = window.event.pageY;
var position = $dialog.position();
startDialogX = position.left;
startDialogY = position.top;
$dialog.addClass('active');
$('<div class="splitterMask"></div>').insertAfter($('#notesOverlay'));
$(document).bind($axure.eventNames.mouseMoveName, doDialogMove).bind($axure.eventNames.mouseUpName, endDialogMove);
$dialog.find('.notesDialogScroll').getNiceScroll().hide();
}
function doDialogMove() {
var currentX = window.event.pageX;
var currentY = window.event.pageY;
$dialog.css({ 'left': startDialogX + currentX - startMouseX, 'top': startDialogY + currentY - startMouseY });
}
function endDialogMove() {
$('div.splitterMask').remove();
$dialog.removeClass('active');
$(document).unbind($axure.eventNames.mouseMoveName, doDialogMove).unbind($axure.eventNames.mouseUpName, endDialogMove);
$dialog.find('.notesDialogScroll').getNiceScroll().resize();
$dialog.find('.notesDialogScroll').getNiceScroll().show();
}
$dialog.find('.resizeNotesDialog').on($axure.eventNames.mouseDownName, startDialogResize);
var startDialogW;
var startDialogH;
function startDialogResize() {
event.stopPropagation();
startMouseX = window.event.pageX;
startMouseY = window.event.pageY;
startDialogW = Number($dialog.css('width').replace('px',''));
startDialogH = Number($dialog.css('height').replace('px', ''));
$dialog.addClass('active');
$('<div class="splitterMask"></div>').insertAfter($('#notesOverlay'));
$(document).bind($axure.eventNames.mouseMoveName, doDialogResize).bind($axure.eventNames.mouseUpName, endDialogResize);
$dialog.find('.notesDialogScroll').getNiceScroll().hide();
}
function doDialogResize() {
var currentX = window.event.pageX;
var currentY = window.event.pageY;
var newWidth = Math.max(200, startDialogW + currentX - startMouseX);
var newHeight = Math.max(200, startDialogH + currentY - startMouseY);
$dialog.css({ 'width': newWidth, 'height': newHeight });
}
function endDialogResize() {
$('div.splitterMask').remove();
$dialog.removeClass('active');
$(document).unbind($axure.eventNames.mouseMoveName, doDialogResize).unbind($axure.eventNames.mouseUpName, endDialogResize);
$dialog.find('.notesDialogScroll').getNiceScroll().resize();
$dialog.find('.notesDialogScroll').getNiceScroll().show();
}
dialogs[id] = $dialog;
// scroll ... just for IE
//window.scrollTo(scrollX, scrollY);
};
$(document).on('sidebarCollapse', function (event, data) {
clearSelection();
});
$(document).on('pluginShown', function (event, data) {
if(data != 2) {
clearSelection();
}
});
function clearSelection() {
var selectedNote = $('#pageNotesContainer').find('.widgetNoteContainerSelected');
if(selectedNote.length > 0) {
selectedNote.removeClass('widgetNoteContainerSelected');
//var dimStr = $('.currentAdaptiveView').attr('data-dim');
//var h = dimStr ? dimStr.split('x')[1] : '0';
//var $leftPanel = $('.leftPanel:visible');
//var leftPanelOffset = (!$axure.player.isMobileMode() && $leftPanel.length > 0) ? $leftPanel.width() : 0;
//var $rightPanel = $('.rightPanel:visible');
//var rightPanelOffset = (!$axure.player.isMobileMode() && $rightPanel.length > 0) ? $rightPanel.width() : 0;
//var viewDimensions = {
// h: h != '0' ? h : '',
// scaleVal: $('.vpScaleOption').find('.selectedRadioButton').parent().attr('val'),
// scrollLeft: $('#clipFrameScroll').scrollLeft(),
// scrollTop: $('#clipFrameScroll').scrollTop(),
// height: $('.rightPanel').height(),
// panelWidthOffset: leftPanelOffset + rightPanelOffset
//};
//$axure.messageCenter.postMessage('toggleSelectWidgetNote', { id: '', value: false, view: viewDimensions });
$axure.messageCenter.postMessage('toggleSelectWidgetNote', { id: '', value: false });
//$axure.messageCenter.postMessage('toggleSelectWidgetNote', '');
}
}
function closeAllDialogs() {
for (var id in dialogs) {
var $dialog = dialogs[id];
if ($dialog !== undefined) _toggleAnnDialog(id);
}
}
$axure.player.toggleFootnotes = function(val) {
var scaleCheckDiv = $('#showNotesOption').find('.overflowOptionCheckbox');
if (scaleCheckDiv.hasClass('selected')) {
if (!val) $('#showNotesOption').click();
} else {
if (val) $('#showNotesOption').click();
}
}
function footnotes_click(event) {
var scaleCheckDiv = $('#showNotesOption').find('.overflowOptionCheckbox');
if (scaleCheckDiv.hasClass('selected')) {
closeAllDialogs();
scaleCheckDiv.removeClass('selected');
$axure.messageCenter.postMessage('annotationToggle', false);
//Add 'fn' hash string var so that footnotes stay hidden across reloads
$axure.player.setVarInCurrentUrlHash(FOOTNOTES_VAR_NAME, 0);
} else {
scaleCheckDiv.addClass('selected');
$axure.messageCenter.postMessage('annotationToggle', true);
//Delete 'fn' hash string var if it exists since default is visible
$axure.player.deleteVarFromCurrentUrlHash(FOOTNOTES_VAR_NAME);
}
}
function createNotesOverlay() {
var $targetPanel = $('#clippingBounds');
if (!$('#notesOverlay').length) {
var notesOverlay = document.createElement('div');
notesOverlay.setAttribute('id', 'notesOverlay');
$targetPanel.prepend(notesOverlay);
$(notesOverlay).append('&nbsp;');
}
}
function generatePageNotes() {
var pageNotesUi = "<div id='pageNotesHeader'>";
pageNotesUi += "<div id='pageNotesToolbar' style='height: 12px;'>";
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);
if(!$axure.document.configuration.showAnnotations) {
$('#pageNotesHost .pageNameHeader').css('padding-right', '55px');
}
}
})();

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16">
<path fill="#008DCB" fill-rule="evenodd" d="M1 0h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1zm1 2v12h10V2H2zm2 2h6a1 1 0 0 1 0 2H4a1 1 0 1 1 0-2zm0 3h6a1 1 0 0 1 0 2H4a1 1 0 1 1 0-2zm0 3h6a1 1 0 0 1 0 2H4a1 1 0 0 1 0-2z"/>
</svg>

After

Width:  |  Height:  |  Size: 340 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16">
<path fill="#6D6D6D" fill-rule="evenodd" d="M1 0h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1zm1 2v12h10V2H2zm2 2h6a1 1 0 0 1 0 2H4a1 1 0 1 1 0-2zm0 3h6a1 1 0 0 1 0 2H4a1 1 0 1 1 0-2zm0 3h6a1 1 0 0 1 0 2H4a1 1 0 0 1 0-2z"/>
</svg>

After

Width:  |  Height:  |  Size: 340 B

@ -0,0 +1,209 @@
#pageNotesHost {
display: flex;
flex-direction: column;
height: 100%;
}
#pageNotesHostBtn {
order: 2;
}
#pageNotesHostBtn a {
background: url('images/notes_panel_on.svg') no-repeat center center,linear-gradient(transparent, transparent);
}
#pageNotesHostBtn a.selected, #pageNotesHostBtn a.selected:hover {
background: url('images/notes_panel_off.svg') no-repeat center center,linear-gradient(transparent, transparent);
}
#pageNotesScrollContainer {
overflow: auto;
width: 100%;
flex: 1;
-webkit-overflow-scrolling: touch;
}
#pageNotesContent {
overflow: visible;
}
.pageNoteContainer {
padding: 0px 12px 8px 12px;
}
.mobileMode .pageNoteContainer {
padding: 0px 16px 8px 17px;
}
.pageNoteName {
font-size: 13px;
font-weight: bold;
color: #2c2c2c;
margin: 15px 0px 5px 0px;
white-space: nowrap;
}
.pageNote {
font-size: 13px;
color: #2a2e38;
line-height: 1.67;
word-wrap: break-word;
}
.pageNote ul {
list-style: disc;
padding: 0px 0px 0px 40px;
}
.pageNote ul ul{
list-style: circle;
}
.pageNote ul ul ul{
list-style: square;
}
.pageNote ul ul ul ul {
list-style: disc;
}
.pageNote ul ul ul ul ul {
list-style: circle;
}
.pageNote ul ul ul ul ul ul {
list-style: square;
}
.widgetNoteContainer {
padding: 12px;
border-bottom: 1px solid transparent;
border-top: 1px solid transparent;
cursor: pointer;
}
.mobileMode .widgetNoteContainer {
padding: 12px 16px 12px 17px;
}
.widgetNoteContainerSelected {
background-color: white;
border-bottom: 1px solid #c2c2c2;
border-top: 1px solid #c2c2c2;
}
.widgetNoteFootnote {
display: inline-block;
padding-top: 1px;
background-color: #fff849;
font-size: 11px;
font-weight: bold;
line-height: 16px;
margin-right: 8px;
padding: 0px 5px;
color: #000;
}
div.annnoteline {
display: inline-block;
width: 9px;
height: 1px;
border-bottom: 1px solid white;
margin-top: 1px;
}
.widgetNoteLabel {
font-size: 13px;
font-weight: 600;
color: #58167d;
margin-top: 4px;
float: right;
}
.noteLink {
text-decoration: inherit;
color: inherit;
}
.noteLink:hover {
background-color: white;
}
.notesSectionHeader {
margin: 0px 8px 0px 12px;
}
.notesPageNameHeader {
margin: 8px 8px 15px 12px;
}
.mobileMode .notesPageNameHeader {
margin: 18px 14px 5px 16px;
}
#notesOverlay {
width: 0;
height: 0;
position: absolute;
overflow: visible;
z-index: 1;
}
div.closeNotesDialog {
position: absolute;
top: 6px;
right: 6px;
width: 11px;
height: 10px;
object-fit: contain;
background: url(../../../resources/images/close_x.svg) no-repeat center center, linear-gradient(transparent, transparent);
margin-left: auto;
cursor: pointer;
}
div.resizeNotesDialog {
position: absolute;
bottom: 2px;
right: 2px;
width: 11px;
height: 10px;
object-fit: contain;
background: url(../../../resources/images/resize.svg) no-repeat center center, linear-gradient(transparent, transparent);
margin-left: auto;
cursor: nwse-resize;
}
div.notesDialog {
position: absolute;
padding: 16px 3px 10px 3px;
background-color: #efefef;
width: 300px;
height: 300px;
line-height: normal;
border: #8F949A solid 1px;
box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.4);
cursor: move;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
div.notesDialog.active {
user-select: none;
}
div.notesDialog .widgetNoteContainer {
cursor: auto;
padding: 2px 26px 16px 14px;
}
div.notesDialogScroll {
overflow-x: hidden;
overflow-y: auto;
height: 100%;
cursor: auto;
}
.mobileMode .pageNoteName, .mobileMode #pageNotesToolbar, .mobileMode .dottedDivider {
display: none;
}

@ -0,0 +1,479 @@
// use this to isolate the scope
(function() {
if(!$axure.document.configuration.showRecordPlay) { return; }
$(window.document).ready(function() {
$axure.player.createPluginHost({
id: 'recordPlayHost',
context: 'interface',
title: 'Recording'
});
_generateRecordPlay();
$('#recordButton').click(_recordClick);
$('#playButton').click(_playClick);
$('#stopButton').click(_stopClick);
$('#deleteButton').click(_deleteClick);
// bind to the page load
$axure.page.bind('load.page_notes', function() {
$.ajax({
type: "POST",
url: '/RecordController/ListRecordings',
success: function(response) {
$('#recordNameHeader').html("");
$('#recordPlayContent').html("");
//populate the notes
axRecordingList = [];
if(!eventList) {
recordingIndex = 0;
eventList = [];
recordingStartTime = 0;
bulkEventElement = "";
lastBulkEvent = {};
}
for(var idx in response.recordingList) {
getOneRecording(response.recordingList[idx]);
}
return false;
},
// dataType: 'json'
});
});
});
var nameMatcher = new RegExp("^axRecording[0-9]{4}$", "i");
var indexMatcher = new RegExp("[0-9]{4}$", "i");
var convertFromJson = function(oneRecording) {
if(nameMatcher.exec(oneRecording.recordingName)) {
var myArray = indexMatcher.exec(oneRecording.recordingName);
var currIdx = parseInt(myArray);
if(recordingIndex < currIdx) {
recordingIndex = currIdx;
}
}
for(var idx in oneRecording.eventList) {
var thisEvent = oneRecording.eventList[idx];
thisEvent.eventInfo = {};
thisEvent.eventInfo.srcElement = thisEvent.elementID;
// TODO: check that this is correct.
if(isBulkMouse(thisEvent.eventType)) {
thisEvent.eventInfo.mousePositions = [];
thisEvent.eventInfo.mousePositions = thisEvent.mousePositions;
thisEvent.timeStamp = thisEvent.mousePositions[0].timeStamp;
}
if(isSingleMouse(thisEvent.eventType)) {
thisEvent.eventInfo.cursor = {};
thisEvent.eventInfo.cursor = thisEvent.cursor;
}
if(thisEvent.eventType === 'OnDrag') {
thisEvent.eventInfo.dragInfo = {};
thisEvent.eventInfo.dragInfo = thisEvent.dragInfo;
thisEvent.timeStamp = thisEvent.dragInfo.startTime;
}
}
return oneRecording;
};
var getOneRecording = function(recordingItem) {
$.ajax({
type: "POST",
url: '/RecordController/GetRecording',
data: { 'recordingId': recordingItem.recordingId },
success: function(response) {
axRecordingList[axRecordingList.length] = convertFromJson(response);
var axRecordingContainer = $('#recordingContainer').find('li').filter('.recordingRootNode');
axRecordingContainer.append(_formAxRecordingBranch(response));
_attachEventTriggers(response);
}, // dataType: 'json'
});
};
var axRecordingList;
var eventList;
var recordingIndex;
var recordingStartTime;
var recordingId;
var recordingName;
var leadingZeros = function(number, digits) { // because this thing doesn't have string.format (or does it?)
var recurseLeadingZeros = function(number, digitsLeft) {
if(digitsLeft > 0) {
return recurseLeadingZeros("0" + number, digitsLeft - 1);
} else {
return number;
}
};
return recurseLeadingZeros(number, digits - String(number).length);
};
var generateRecordingName = function() {
return "axRecording" + leadingZeros(recordingIndex, 4);
};
var isSingleMouse = function(eventType) {
return (eventType === 'OnClick' ||
eventType === 'OnMouseUp' ||
eventType === 'OnMouseDown' ||
eventType === 'OnMouseOver' ||
eventType === 'OnKeyUp' ||
eventType === 'OnSelectedChange' ||
eventType === 'OnSelect' ||
eventType === 'OnUnselect' ||
eventType === 'OnTextChange' ||
eventType === 'OnMouseOut');
};
var isBulkMouse = function(eventType) {
return (eventType === 'OnMouseHover' ||
eventType === 'OnMouseMove');
};
var bulkEventElement;
var lastBulkEvent;
$axure.messageCenter.addMessageListener(function(message, eventData) {
var lastEvent, lastBulkData;
if(message === 'logEvent') {
if(bulkEventElement !== eventData.elementID) {
lastBulkEvent = {};
bulkEventElement = eventData.elementID;
}
if(isBulkMouse(eventData.eventType)) {
lastEvent = lastBulkEvent[eventData.eventType];
if(lastEvent) {
// this is the second or third or whatever onmousemove in a row
lastBulkData = lastEvent.eventInfo.mousePositions;
lastBulkData[lastBulkData.length] = {
cursor: eventData.eventInfo.cursor,
timeStamp: eventData.timeStamp
};
} else {
eventData.eventInfo.mousePositions = [];
eventData.eventInfo.mousePositions[0] = {
cursor: eventData.eventInfo.cursor,
timeStamp: eventData.timeStamp
};
eventList[eventList.length] = eventData;
lastBulkEvent[eventData.eventType] = eventData;
}
} else {
var z = true;
}
if(isSingleMouse(eventData.eventType) ) {
eventList[eventList.length] = eventData;
lastBulkEvent = {};
bulkEventElement = eventData.elementID;
}
if(eventData.eventType === 'OnDrag') {
lastEvent = lastBulkEvent[eventData.eventType];
if (lastEvent) {
// this is the second or third or whatever onmousemove in a row
lastBulkData = lastEvent.eventInfo.mousePositions;
lastBulkData[lastBulkData.length] = {
dragInfo: eventData.eventInfo.dragInfo,
timeStamp: eventData.timeStamp
};
} else {
eventData.eventInfo.mousePositions = [];
eventData.eventInfo.mousePositions[0] = {
dragInfo: eventData.eventInfo.dragInfo,
timeStamp: eventData.timeStamp
};
eventList[eventList.length] = eventData;
lastBulkEvent[eventData.eventType] = eventData;
}
}
// if(eventData.eventType === 'OnKeyUp') {
// transmissionFields.eventInfo = eventData.eventInfo;
// $.ajax({
// type: "POST",
// url: '/RecordController/LogMouseClick',
// data: transmissionFields,
// });
// }
}
});
var _recordClick = function(event) {
$('#recordButton').addClass('recordPlayButtonSelected');
recordingIndex++;
// $axure.recording.startRecord();
recordingStartTime = new Date().getTime();
$.ajax({
type: "POST",
url: '/RecordController/CreateRecording',
data: {
'recordingName': generateRecordingName(),
timeStamp: recordingStartTime
},
success: function(response) {
recordingId = response.recordingId;
recordingName = response.recordingName;
$axure.messageCenter.postMessage('startRecording', {'recordingId' : recordingId, 'recordingName': recordingName});
},
// dataType: 'json'
});
};
var _playClick = function(event) {
$('#playButton').addClass('recordPlayButtonSelected');
};
var _stopClick = function(event) {
var axRecording, axObjectDictionary, axRecordingContainer, transmissionFields;
$('#sitemapLinksContainer').toggle();
if($('#recordButton').is('.recordPlayButtonSelected')) {
$('#recordButton').removeClass('recordPlayButtonSelected');
// $axure.recording.stopRecord();
axRecording = {
'recordingId' : recordingId,
'recordingName': recordingName,
'eventList': eventList
};
axRecordingList[axRecordingList.length] = axRecording;
axRecordingContainer = $('#recordingContainer').find('li').filter('.recordingRootNode');
axRecordingContainer.append(_formAxRecordingBranch(axRecording));
_attachEventTriggers(axRecording);
lastBulkEvent = {};
var recordingStepList = [];
for(var eventListIdx in eventList) {
var eventListItem = eventList[eventListIdx];
if(eventListItem.eventType === 'OnDrag') {
var lastDrag = eventListItem.eventInfo.mousePositions[eventListItem.eventInfo.mousePositions.length - 1].dragInfo;
eventListItem.eventInfo.dragInfo.currentX = lastDrag.currentX;
eventListItem.eventInfo.dragInfo.currentY = lastDrag.currentY;
eventListItem.eventInfo.dragInfo.currentTime = lastDrag.currentTime;
eventListItem.eventInfo.dragInfo.xDelta = eventListItem.eventInfo.dragInfo.currentX - eventListItem.eventInfo.dragInfo.lastX;
eventListItem.eventInfo.dragInfo.yDelta = eventListItem.eventInfo.dragInfo.currentY - eventListItem.eventInfo.dragInfo.lastY;
transmissionFields = {};
transmissionFields = tackItOn(transmissionFields, eventListItem, ['eventType', 'elementID', 'path']);
transmissionFields = tackItOn(transmissionFields, eventListItem.eventInfo, ['dragInfo']);
transmissionFields.recordingId = recordingId;
}
if(isSingleMouse(eventListItem.eventType)) {
transmissionFields = {};
transmissionFields = tackItOn(transmissionFields, eventListItem, ['timeStamp', 'eventType', 'elementID', 'path']);
transmissionFields = tackItOn(transmissionFields, eventListItem.eventInfo, ['cursor']);
transmissionFields.recordingId = recordingId;
}
if(isBulkMouse(eventListItem.eventType)) {
transmissionFields = {};
transmissionFields = tackItOn(transmissionFields, eventListItem, ['eventType', 'elementID', 'path']);
transmissionFields = tackItOn(transmissionFields, eventListItem.eventInfo, ['mousePositions']);
transmissionFields.recordingId = recordingId;
}
recordingStepList[recordingStepList.length] = transmissionFields;
}
eventList = [];
$axure.messageCenter.postMessage('stopRecording', axObjectDictionary);
var jsonText = {
'recordingName': recordingName,
'recordingId': recordingId,
recordingStart: new Date().getTime(),
recordingEnd: recordingStartTime,
'eventList': recordingStepList
};
$.ajax({
type: "POST",
url: '/RecordController/StopRecording',
data: { 'jsonText': JSON.stringify(jsonText) }
});
}
if($('#playButton').is('.recordPlayButtonSelected')) {
$('#playButton').removeClass('recordPlayButtonSelected');
}
};
var _deleteClick = function(event) {
$.ajax({
type: "POST",
url: '/RecordController/DeleteRecordings',
success: function(response) {
var x = true;
}, // dataType: 'json'
});
};
var tackItOn = function(destination, source, fields) {
for(var idx in fields) {
destination[fields[idx]] = source[fields[idx]];
}
return destination;
};
var makeFirstLetterLower = function(eventName) {
return eventName.substr(0, 1).toLowerCase() + eventName.substr(1);
};
var _attachEventTriggers = function(axRecording) {
for(var eventIdx in axRecording.eventList) {
var eventObject = axRecording.eventList[eventIdx];
var eventID = axRecording['recordingId'] + '_' + eventObject.timeStamp;
currentEvent = eventID;
$('#' + eventID).click(_triggerEvent(axRecording['recordingId'], eventObject.timeStamp));
// $('#' + eventID).click(event.trigger);
}
};
var _formAxRecordingBranch = function(axRecording) {
var eventObject, eventID, RDOID;
var recordPlayUi = '<ul class="recordingTree">';
recordPlayUi += "<li class='recordingNode recordingExpandableNode'>";
recordPlayUi += '<div class="recordingContainer" style="margin-left:15px">';
recordPlayUi += '<a class="recordingPlusMinusLink"><span class="recordingMinus"></span></a>';
recordPlayUi += '<a class="recordingPageLink" nodeurl="home.html">';
recordPlayUi += '<span class="recordingPageIcon"></span>';
recordPlayUi += '<span class="recordingPageName">' + axRecording['recordingName'] + '</span>';
recordPlayUi += '</a>';
recordPlayUi += '<ul>';
for(eventID in axRecording.eventList) {
eventObject = axRecording.eventList[eventID];
recordPlayUi += '<li class="recordingNode recordingLeafNode">';
recordPlayUi += '<div class="recordingEventContainer" style="margin-left:44px">';
var eventID = axRecording['recordingId'] + '_' + eventObject.timeStamp;
recordPlayUi += '<a id="' + eventID + '" class="sitemapPageLink">';
recordPlayUi += 'Event ID: ' + eventID + '<br/>';
recordPlayUi += '<span class="sitemapPageIcon"></span>';
recordPlayUi += '<span class="sitemapPageName">';
recordPlayUi += 'elementID: ' + eventObject.elementID + '<br/>';
recordPlayUi += 'eventType: ' + eventObject.eventType + '<br/>';
// recordPlayUi += 'cursor: ' + eventObject.eventInfo.cursor.x + ',' + eventObject.eventInfo.cursor.y + '<br/>';
for(RDOID in eventObject.path) {
recordPlayUi += '/' + eventObject.path[RDOID];
}
recordPlayUi += '<br/>';
recordPlayUi += '</span>';
recordPlayUi += '</a>';
recordPlayUi += '</div>';
recordPlayUi += '</li>';
}
recordPlayUi += '</ul>';
recordPlayUi += '</div>';
recordPlayUi += "</li>";
recordPlayUi += "</ul>";
return recordPlayUi;
};
var currentEvent = '';
var _triggerEvent = function(axRecording, timeStamp) {
// $axure.messageCenter.postMessage('triggerEvent', false);
for(var axRecordingIdx in axRecordingList) {
if(axRecordingList[axRecordingIdx].recordingId === axRecording) {
for(var eventIdx in axRecordingList[axRecordingIdx].eventList) {
if(axRecordingList[axRecordingIdx].eventList[eventIdx].timeStamp === timeStamp) {
var thisEvent = axRecordingList[axRecordingIdx].eventList[eventIdx];
// thisEvent.trigger();
var thisEventInfo, lowerEventType;
lowerEventType = thisEvent.eventType.toLowerCase();
if(lowerEventType === 'onclick' || lowerEventType === 'onmousein') {
thisEventInfo = {};
thisEventInfo = tackItOn(thisEventInfo, thisEvent.eventInfo, ['cursor', 'timeStamp', 'srcElement']);
if(thisEvent.eventInfo.inputType) {
thisEventInfo = tackItOn(thisEventInfo, thisEvent.eventInfo, ['inputType', 'inputValue']);
}
} else {
thisEventInfo = thisEvent.eventInfo;
}
var thisParameters = {
'element': thisEvent.elementID,
'eventInfo': thisEventInfo,
// 'axEventObject': thisEvent.eventObject,
'eventType': thisEvent.eventType
};
return function() {
$axure.messageCenter.postMessage('playEvent', thisParameters);
};
}
}
}
}
};
var _generateRecordPlay = function() {
var recordPlayUi = "<div id='recordPlayContainer'>";
recordPlayUi += "<div id='recordPlayToolbar'>";
recordPlayUi += "<div style='height:30px;'>";
recordPlayUi += "<a id='recordButton' title='Start a Recording' class='recordPlayButton'></a>";
recordPlayUi += "<a id='playButton' title='Play Back a Recording' class='recordPlayButton'></a>";
recordPlayUi += "<a id='stopButton' title='Stop' class='recordPlayButton'></a>";
recordPlayUi += "<a id='deleteButton' title='Delete All Recordings' class='recordPlayButton'></a>";
recordPlayUi += "</div>";
recordPlayUi += "<div id='recordingContainer'><li class='recordingNode recordingRootNode'></li></div>";
recordPlayUi += "</div>";
$('#recordPlayHost').html(recordPlayUi);
};
})();

@ -0,0 +1,90 @@
#recordPlayHost {
font-size: 12px;
color:#333;
height: 100%;
}
#recordPlayContainer
{
overflow: auto;
width: 100%;
height: 100%;
padding: 10px 10px 10px 10px;
}
#recordPlayToolbar
{
margin: 5px 5px 5px 5px;
height: 22px;
}
#recordPlayToolbar .recordPlayButton
{
float: left;
width: 22px;
height: 22px;
border: 1px solid transparent;
}
#recordPlayToolbar .recordPlayButton:hover
{
border: 1px solid rgb(0,157,217);
background-color : rgb(166,221,242);
}
#recordPlayToolbar .recordPlayButton:active
{
border: 1px solid rgb(0,157,217);
background-color : rgb(204,235,248);
}
#recordPlayToolbar .recordPlayButtonSelected {
border: 1px solid rgb(0,157,217);
background-color : rgb(204,235,248);
}
/* removed images */
/*#recordButton {
background: url('../../sitemap/styles/images/233_hyperlink_16.png') no-repeat center center;
}
#playButton {
background: url('../../sitemap/styles/images/225_responsive_16.png') no-repeat center center;
}
#stopButton {
background: url('../../sitemap/styles/images/228_togglenotes_16.png') no-repeat center center;
}
#deleteButton {
background: url('../../sitemap/styles/images/231_event_16.png') no-repeat center center;
}*/
#recordNameHeader
{
/* yeah??*/
font-size: 13px;
font-weight: bold;
height: 23px;
white-space: nowrap;
}
#recordPlayContent
{
/* yeah??*/
overflow: visible;
}
.recordPlayName
{
font-size: 12px;
margin-bottom: 5px;
text-decoration: underline;
white-space: nowrap;
}
.recordPlay
{
margin-bottom: 10px;
}

@ -0,0 +1,553 @@
var currentNodeUrl = '';
var allNodeUrls = [];
var openNextPage = $axure.player.openNextPage = function () {
var index = allNodeUrls.indexOf(currentNodeUrl) + 1;
if(index >= allNodeUrls.length) return;
var nextNodeUrl = allNodeUrls[index];
currentNodeUrl = nextNodeUrl;
$('.sitemapPageLink[nodeUrl="' + nextNodeUrl + '"]').parent().mousedown();
};
var openPreviousPage = $axure.player.openPreviousPage = function () {
var index = allNodeUrls.indexOf(currentNodeUrl) - 1;
if(index < 0) return;
var nextNodeUrl = allNodeUrls[index];
currentNodeUrl = nextNodeUrl;
$('.sitemapPageLink[nodeUrl="' + nextNodeUrl + '"]').parent().mousedown();
};
// 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: 'project',
title: 'Project Pages',
gid: 1,
});
$(window.document).bind('keyup', function (e) {
if (e.target.localName == "textarea" || e.target.localName == "input") return;
switch(e.which) {
case 188:
openPreviousPage();
break;
case 190:
openNextPage();
break;
default: return; // exit this handler for other keys
}
});
generateSitemap();
$('.leftArrow').click(openPreviousPage);
$('.rightArrow').click(openNextPage);
$('.sitemapPlusMinusLink').click(collapse_click);
$('.sitemapPageLink').parent().mousedown(node_click);
$('#interfaceAdaptiveViewsListContainer').hide();
$('#projectOptionsShowHotspots').click(showHotspots_click);
$('#searchIcon').click(searchBoxClose_click);
$('#searchDiv').click(searchBoxExpand_click);
$('#searchBox').keyup(search_input_keyup);
// 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('.'));
$axure.player.setVarInCurrentUrlHash(PAGE_ID_NAME, $axure.player.getPageIdByUrl(currentNodeUrl));
$axure.player.setVarInCurrentUrlHash(PAGE_URL_NAME, currentNodeUrl.substring(0, currentNodeUrl.lastIndexOf('.html')));
$('#sitemapTreeContainer').find('.sitemapHighlight').removeClass('sitemapHighlight');
$('.sitemapPageLink[nodeUrl="' + currentNodeUrl + '"]').parent().parent().addClass('sitemapHighlight');
var pageName = $axure.page.pageName;
$('.pageNameHeader').html(pageName);
//If highlight var is present and set to 1 or else if
//sitemap highlight button is selected then highlight interactive elements
var hiVal = $axure.player.getHashStringVar(HIGHLIGHT_INTERACTIVE_VAR_NAME);
if(hiVal.length > 0 && hiVal == 1) {
$('#showHotspotsOption').find('.overflowOptionCheckbox').addClass('selected');
if ($('#projectOptionsHotspotsCheckbox').length > 0) $('#projectOptionsHotspotsCheckbox').addClass('selected');
$axure.messageCenter.postMessage('highlightInteractive', true);
} else if ($('#showHotspotsOption').find('.overflowOptionCheckbox').hasClass('selected')) {
$axure.messageCenter.postMessage('highlightInteractive', true);
}
generateAdaptiveViews(false);
if (MOBILE_DEVICE) generateAdaptiveViews(true);
$axure.player.suspendRefreshViewPort = 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 = $axure.player.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($('.selectedRadioButton').length > 0) {
var $viewOption = $('.selectedRadioButton').parents('.adaptiveViewOption');
$viewOption.click();
}
updateAdaptiveViewHeader();
function setDefaultScaleForDevice() {
if(MOBILE_DEVICE && $axure.player.isMobileMode()) {
$('.projectOptionsScaleRow[val="0"]').click();
} else {
$('.vpScaleOption[val="0"]').click();
}
}
var scaleStr = $axure.player.getHashStringVar(SCALE_VAR_NAME);
if(scaleStr.length > 0) {
var $scale = $('.vpScaleOption[val="' + scaleStr + '"]');
if($scale.length > 0) $scale.click();
else setDefaultScaleForDevice();
} else {
setDefaultScaleForDevice();
}
var rotateStr = $axure.player.getHashStringVar(ROT_VAR_NAME);
if(rotateStr.length > 0) {
$('#vpRotate').prop('checked', true);
}
$axure.player.suspendRefreshViewPort = false;
if (!$axure.player.isViewOverridden()) $axure.messageCenter.postMessage('setAdaptiveViewForSize', { 'width': $('#mainPanel').width(), 'height': $('#mainPanel').height() });
$axure.player.refreshViewPort();
$axure.messageCenter.postMessage('finishInit');
showMainPanel();
return false;
});
var $vpContainer = $('#interfaceScaleListContainer');
var scaleOptions = '<div class="vpScaleOption" val="0"><div class="scaleRadioButton"><div class="selectedRadioButtonFill"></div></div>Default Scale</div>';
scaleOptions += '<div class="vpScaleOption" val="1"><div class="scaleRadioButton"><div class="selectedRadioButtonFill"></div></div>Scale to Width</div>';
scaleOptions += '<div class="vpScaleOption" val="2"><div class="scaleRadioButton"><div class="selectedRadioButtonFill"></div></div>Scale to Fit</div>';
$(scaleOptions).appendTo($vpContainer);
$('#overflowMenuContainer').append('<div id="showHotspotsOption" class="showOption" style="order: 1"><div class="overflowOptionCheckbox"></div>Show Hotspots</div>');
$('#overflowMenuContainer').append($vpContainer);
$vpContainer.show();
$('#showHotspotsOption').click(showHotspots_click);
$('.vpScaleOption').click(vpScaleOption_click);
$('.vpScaleOption').mouseup(function (event) {
event.stopPropagation();
});
if (MOBILE_DEVICE) {
var scaleOptions = '<div class="projectOptionsScaleRow" val="1"><div class="scaleRadioButton"><div class="selectedRadioButtonFill"></div></div>Scale to fit width</div>';
scaleOptions += '<div class="projectOptionsScaleRow" val="0"><div class="scaleRadioButton"><div class="selectedRadioButtonFill"></div></div>Original size (100%)</div>';
scaleOptions += '<div class="projectOptionsScaleRow" val="2" style="border-bottom: solid 1px #c7c7c7"><div class="scaleRadioButton"><div class="selectedRadioButtonFill"></div></div>Fit all to screen</div>';
$(scaleOptions).appendTo($('#projectOptionsScaleContainer'));
$('.projectOptionsScaleRow').click(vpScaleOption_click);
}
$('#searchBox').focusin(function() {
if($(this).is('.searchBoxHint')) {
$(this).val('');
$(this).removeClass('searchBoxHint');
}
}).focusout(function() {
if($(this).val() == '') {
$(this).addClass('searchBoxHint');
}
});
$('#searchBox').focusout();
});
var _formatViewDimension = function(dim) {
if(dim == 0) return 'any';
if(dim.toString().includes('.')) return dim.toFixed(2);
return dim;
};
function generateAdaptiveViews(forProjectOptions) {
var $container = forProjectOptions ? $('#projectOptionsAdaptiveViewsContainer') : $('#interfaceAdaptiveViewsListContainer');
var $viewSelect = forProjectOptions ? $('#projectOptionsViewSelect') : $('#viewSelect');
var adaptiveViewOptionClass = forProjectOptions ? 'projectOptionsAdaptiveViewRow' : 'adaptiveViewOption';
var currentViewClass = forProjectOptions ? '' : 'currentAdaptiveView';
$container.empty();
$viewSelect.empty();
//Fill out adaptive view container with prototype's defined adaptive views, as well as the default, and Auto
var viewsList = '<div class="' + adaptiveViewOptionClass + '" val="auto"><div class="adapViewRadioButton selectedRadioButton"><div class="selectedRadioButtonFill"></div></div>Adaptive</div>';
var viewSelect = '<option value="auto">Adaptive</option>';
if (typeof $axure.page.defaultAdaptiveView.name != 'undefined') {
//If the name is a blank string, make the view name the width if non-zero, else 'any'
var defaultView = $axure.page.defaultAdaptiveView;
var defaultViewName = defaultView.name;
var widthString = _formatViewDimension(defaultView.size.width);
var heightString = _formatViewDimension(defaultView.size.height);
var viewString = defaultViewName + ' (' + widthString + ' x ' + heightString + ')';
viewsList += '<div class="' + adaptiveViewOptionClass + ' ' + currentViewClass + '" val="default"data-dim="' + defaultView.size.width + 'x' + defaultView.size.height + '">' +
'<div class="adapViewRadioButton"><div class="selectedRadioButtonFill"></div></div>' + viewString + '</div>';
viewSelect += '<option value="default">' + viewString + '</option>';
}
var useViews = $axure.document.configuration.useViews;
var hasViews = false;
if(useViews) {
for(var viewIndex = 0; viewIndex < $axure.page.adaptiveViews.length; viewIndex++) {
var currView = $axure.page.adaptiveViews[viewIndex];
var widthString = _formatViewDimension(currView.size.width);
var heightString = _formatViewDimension(currView.size.height);
var viewString = currView.name + ' (' + widthString + ' x ' + heightString + ')';
viewsList += '<div class="' + adaptiveViewOptionClass +
((forProjectOptions && (viewIndex == $axure.page.adaptiveViews.length - 1)) ? '" style="border-bottom: solid 1px #c7c7c7; margin-bottom: 15px;' : '') +
'" val="' +
currView.id +
'" data-dim="' +
currView.size.width +
'x' +
currView.size.height +
'"><div class="adapViewRadioButton"><div class="selectedRadioButtonFill"></div></div>' +
viewString +
'</div>';
viewSelect += '<option value="' + currView.id + '">' + viewString + '</option>';
hasViews = true;
}
}
$container.append(viewsList);
$viewSelect.append(viewSelect);
if (!hasViews) {
if (forProjectOptions) {
$('#projectOptionsAdaptiveViewsHeader').hide();
$('#projectOptionsAdaptiveViewsContainer').hide();
} else $('#interfaceAdaptiveViewsContainer').hide();
} else {
if (forProjectOptions) {
$('#projectOptionsAdaptiveViewsHeader').show();
$('#projectOptionsAdaptiveViewsContainer').show();
} else $('#interfaceAdaptiveViewsContainer').show();
}
$(('.' + adaptiveViewOptionClass)).click(adaptiveViewOption_click);
if (!forProjectOptions) {
$(('.' + adaptiveViewOptionClass)).mouseup(function (event) {
event.stopPropagation();
});
}
}
function collapse_click(event) {
if($(this).children('.sitemapPlus').length > 0) {
expand_click($(this));
} else {
$(this)
.children('.sitemapMinus').removeClass('sitemapMinus').addClass('sitemapPlus').end()
.closest('li').children('ul').hide(SHOW_HIDE_ANIMATION_DURATION);
}
event.stopPropagation();
}
function expand_click($this) {
$this
.children('.sitemapPlus').removeClass('sitemapPlus').addClass('sitemapMinus').end()
.closest('li').children('ul').show(SHOW_HIDE_ANIMATION_DURATION);
}
function searchBoxExpand_click(event) {
if (!$('#searchIcon').hasClass('sitemapToolbarButtonSelected')) {
$('#searchIcon').addClass('sitemapToolbarButtonSelected')
$('#searchBox').width(0);
$('#searchBox').show();
$('#searchBox').animate({ width: '95%' }, { duration: 200, complete: function () { $('#searchBox').focus(); } });
}
}
function searchBoxClose_click(event) {
if ($('#searchIcon').hasClass('sitemapToolbarButtonSelected')) {
$('#searchBox').animate({ width: '0%' }, { duration: 200,
complete: function () {
$('#searchBox').hide();
$('#searchIcon').removeClass('sitemapToolbarButtonSelected')
}});
$('#searchBox').val('');
$('#searchBox').keyup();
}
}
function node_click(event) {
hideMainPanel();
$('#sitemapTreeContainer').find('.sitemapHighlight').removeClass('sitemapHighlight');
$(this).parent().addClass('sitemapHighlight');
$axure.page.navigate($(this).children('.sitemapPageLink')[0].getAttribute('nodeUrl'), true);
}
function hideMainPanel() {
$('#mainPanel').css('opacity', '0');
$('#clippingBounds').css('opacity', '0');
}
function showMainPanel() {
$('#mainPanel').animate({ opacity: 1 }, 10);
$('#clippingBounds').animate({ opacity: 1 }, 10);
}
$axure.messageCenter.addMessageListener(function(message, data) {
if(message == 'adaptiveViewChange') {
$('.adaptiveViewOption').removeClass('currentAdaptiveView');
if(data.viewId) {$('.adaptiveViewOption[val="' + data.viewId + '"]').addClass('currentAdaptiveView');}
else $('.adaptiveViewOption[val="default"]').addClass('currentAdaptiveView');
//when we set adaptive view through user event, we want to update the checkmark on sitemap
if(data.forceSwitchTo) {
$('.adapViewRadioButton').find('.selectedRadioButtonFill').hide();
$('.adapViewRadioButton').removeClass('selectedRadioButton');
$('div[val="' + data.forceSwitchTo + '"]').find('.adapViewRadioButton').addClass('selectedRadioButton');
$('div[val="' + data.forceSwitchTo + '"]').find('.selectedRadioButtonFill').show();
}
updateAdaptiveViewHeader();
$axure.player.refreshViewPort();
} else if(message == 'previousPage') {
openPreviousPage();
} else if(message == 'nextPage') {
openNextPage();
}
});
$axure.player.toggleHotspots = function (val) {
var overflowMenuCheckbox = $('#showHotspotsOption').find('.overflowOptionCheckbox');
if ($(overflowMenuCheckbox).hasClass('selected')) {
if (!val) $('#showHotspotsOption').click();
} else {
if (val) $('#showHotspotsOption').click();
}
}
function showHotspots_click(event) {
var overflowMenuCheckbox = $('#showHotspotsOption').find('.overflowOptionCheckbox');
var projOptionsCheckbox = $('#projectOptionsHotspotsCheckbox');
if ($(overflowMenuCheckbox).hasClass('selected')) {
overflowMenuCheckbox.removeClass('selected');
if (projOptionsCheckbox.length > 0 ) projOptionsCheckbox.removeClass('selected');
$axure.messageCenter.postMessage('highlightInteractive', false);
//Delete 'hi' hash string var if it exists since default is unselected
$axure.player.deleteVarFromCurrentUrlHash(HIGHLIGHT_INTERACTIVE_VAR_NAME);
} else {
overflowMenuCheckbox.addClass('selected');
if (projOptionsCheckbox.length > 0) projOptionsCheckbox.addClass('selected');
$axure.messageCenter.postMessage('highlightInteractive', true);
//Add 'hi' hash string var so that stay highlighted across reloads
$axure.player.setVarInCurrentUrlHash(HIGHLIGHT_INTERACTIVE_VAR_NAME, 1);
}
}
function adaptiveViewOption_click(event) {
var currVal = $(this).attr('val');
$('.adaptiveViewOption').removeClass('currentAdaptiveView');
if(currVal) {$('.adaptiveViewOption[val="' + currVal + '"]').addClass('currentAdaptiveView');}
else $('.adaptiveViewOption[val="default"]').addClass('currentAdaptiveView');
$('.adapViewRadioButton').find('.selectedRadioButtonFill').hide();
$('.adapViewRadioButton').removeClass('selectedRadioButton');
$('div[val="' + currVal + '"]').find('.adapViewRadioButton').addClass('selectedRadioButton');
$('div[val="' + currVal + '"]').find('.selectedRadioButtonFill').show();
selectAdaptiveView(currVal);
$axure.player.closePopup();
updateAdaptiveViewHeader();
}
var selectAdaptiveView = $axure.player.selectAdaptiveView = function(currVal) {
if (currVal == 'auto') {
$axure.messageCenter.postMessage('setAdaptiveViewForSize', { 'width': $('#mainPanel').width(), 'height': $('#mainPanel').height() });
$axure.player.deleteVarFromCurrentUrlHash(ADAPTIVE_VIEW_VAR_NAME);
} else {
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);
$axure.player.setVarInCurrentUrlHash(ADAPTIVE_VIEW_VAR_NAME, currVal);
}
}
$axure.player.updateAdaptiveViewHeader = updateAdaptiveViewHeader = function () {
var hasDefinedDim = true;
var dimensionlessViewStr = '(any x any)';
var viewString = $('.adaptiveViewOption.currentAdaptiveView').text();
if (viewString != null && viewString.indexOf(dimensionlessViewStr) >= 0) hasDefinedDim = false;
if (!hasDefinedDim) {
var viewName = viewString.substring(0, viewString.lastIndexOf(' ('));
var widthString = $('#mainPanelContainer').width();
viewString = viewName + ' (' + widthString + ' x any)';
}
$('.adaptiveViewHeader').html(viewString);
}
$axure.player.selectScaleOption = function (scaleVal) {
var $scale = $('.vpScaleOption[val="' + scaleVal + '"]');
if ($scale.length > 0) $scale.click();
}
function vpScaleOption_click(event) {
var scaleCheckDiv = $(this).find('.scaleRadioButton');
var scaleVal = $(this).attr('val');
if (scaleCheckDiv.hasClass('selectedRadioButton')) return false;
var $selectedScaleOption = $('.vpScaleOption[val="' + scaleVal + '"], .projectOptionsScaleRow[val="' + scaleVal + '"]');
var $allScaleOptions = $('.vpScaleOption, .projectOptionsScaleRow');
$allScaleOptions.find('.scaleRadioButton').removeClass('selectedRadioButton');
$allScaleOptions.find('.selectedRadioButtonFill').hide();
$selectedScaleOption.find('.scaleRadioButton').addClass('selectedRadioButton');
$selectedScaleOption.find('.selectedRadioButtonFill').show();
if (scaleVal == '0') {
$axure.player.deleteVarFromCurrentUrlHash(SCALE_VAR_NAME);
} else if (typeof scaleVal !== 'undefined') {
$axure.player.setVarInCurrentUrlHash(SCALE_VAR_NAME, scaleVal);
}
$axure.player.refreshViewPort();
}
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 generateSitemap() {
var treeUl = "<div id='sitemapHeader'' class='sitemapHeader'>";
treeUl += "<div id='sitemapToolbar' class='sitemapToolbar'>";
treeUl += '<div id="searchDiv"><span id="searchIcon" class="sitemapToolbarButton"></span><input id="searchBox" type="text"/></div>';
treeUl += "<div class='leftArrow sitemapToolbarButton'></div>";
treeUl += "<div class='rightArrow sitemapToolbarButton'></div>";
treeUl += "</div>";
treeUl += "</div>";
///////////////////
var sitemapTitle = $axure.player.getProjectName();
if (!sitemapTitle) sitemapTitle = "Pages";
treeUl += "<div class='sitemapPluginNameHeader pluginNameHeader'>" + sitemapTitle + "</div>";
treeUl += "<div id='sitemapTreeContainer'>";
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>";
if (!MOBILE_DEVICE) {
treeUl += "<div id='changePageInstructions' class='pageSwapInstructions'>Use ";
treeUl += '<span class="backKeys"></span>';
treeUl += " and ";
treeUl += '<span class="forwardKeys"></span>';
treeUl += " keys<br>to move between pages";
treeUl += "</div>";
}
$('#sitemapHost').html(treeUl);
}
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 = (19 + 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(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;
}
})();

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
<g fill="none" fill-rule="evenodd">
<rect width="18" height="18" x="1" y="1" stroke="#E1E0E0" stroke-width="2" rx="4"/>
<rect width="19" height="19" x=".5" y=".5" stroke="#979797" rx="4"/>
<path fill="#666" d="M9 5V4L4.448 6.5v1L9 9.5v-1C6.733 7.513 5.567 7.013 5.5 7c.069-.017 1.235-.683 3.5-2zM5.292 14.262a.675.675 0 0 1 .195-.477.676.676 0 0 1 .225-.147.753.753 0 0 1 .288-.054c.12 0 .227.022.321.066a.641.641 0 0 1 .234.183.827.827 0 0 1 .141.27c.032.102.048.213.048.333 0 .18-.026.367-.078.561a2.996 2.996 0 0 1-.222.576 3.439 3.439 0 0 1-.84 1.053l-.18-.174a.222.222 0 0 1-.078-.168c0-.052.028-.106.084-.162.04-.044.091-.103.153-.177s.125-.159.189-.255.123-.202.177-.318c.054-.116.093-.24.117-.372h-.078a.709.709 0 0 1-.282-.054.647.647 0 0 1-.219-.153.698.698 0 0 1-.144-.234.834.834 0 0 1-.051-.297z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 940 B

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="5px" height="8px" viewBox="0 0 5 8" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>open item copy</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Tree-item" transform="translate(-6.000000, -9.000000)" fill="#8C8C8C">
<g id="closed-item" transform="translate(5.062500, 9.000000)">
<polygon id="Rectangle-13" transform="translate(3.500000, 4.000000) rotate(-90.000000) translate(-3.500000, -4.000000) " points="0 1.6 7 1.6 3.5 6.4"></polygon>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 820 B

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
<g fill="#138CDE" fill-rule="evenodd">
<path d="M2 4.061h11v8.485H2z"/>
<path d="M2 3h4.583v3.182H2z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 224 B

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
<g fill="none" fill-rule="evenodd">
<rect width="18" height="18" x="1" y="1" stroke="#E1E0E0" stroke-width="2" rx="4"/>
<rect width="19" height="19" x=".5" y=".5" stroke="#979797" rx="4"/>
<path fill="#666" d="M4.448 8.5v1L9 7V6L4.448 4v1c2.267.987 3.433 1.487 3.5 1.5-.069.017-1.235.683-3.5 2z"/>
<text fill="#666" font-family="Lato-Regular, Lato" font-size="12">
<tspan x="4.728" y="16">.</tspan>
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 563 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="11" viewBox="0 0 6 11">
<path fill="#6D6D6D" fill-rule="evenodd" d="M5.5 11L0 5.5 5.5 0v2L2 5.5 5.5 9z"/>
</svg>

After

Width:  |  Height:  |  Size: 175 B

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="9px" height="10px" viewBox="0 0 9 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>open item</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="open-item" fill="#8C8C8C">
<polygon id="Rectangle-13" points="0 0 9 0 4.5 6"></polygon>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 577 B

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="9" height="11" viewBox="0 0 9 11">
<g fill="none" fill-rule="evenodd" stroke="#979797">
<path d="M.5.5h8v10h-8z"/>
<path stroke-linecap="square" d="M2.5 7.5h4M2.5 3.5h4M2.5 5.5h4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 265 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="11" viewBox="0 0 6 11">
<path fill="#6D6D6D" fill-rule="evenodd" d="M.5 11L6 5.5.5 0v2L4 5.5.5 9z"/>
</svg>

After

Width:  |  Height:  |  Size: 170 B

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11">
<g fill="none" fill-rule="evenodd" stroke="#018DCC" transform="translate(1 1)">
<path stroke-linecap="square" d="M6.5 6.5l2.791 2.865"/>
<circle cx="3.5" cy="3.5" r="3.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 293 B

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11">
<g fill="none" fill-rule="evenodd" stroke="#535353" transform="translate(1 1)">
<path stroke-linecap="square" d="M6.5 6.5l2.791 2.865"/>
<circle cx="3.5" cy="3.5" r="3.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 293 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14">
<path fill="#008DCB" fill-rule="nonzero" d="M14.965 6C15.532 6 16 6.433 16 7s-.434 1-1.002 1H1.002A.983.983 0 0 1 0 7c0-.567.434-1 1.002-1h13.963zm-4.001 6c.568 0 1.036.433 1.036 1s-.435 1-1.003 1H1.003A.984.984 0 0 1 0 13c0-.567.435-1 1.003-1h9.96zM1.003 2A.984.984 0 0 1 0 1c0-.567.435-1 1.003-1h9.994A.984.984 0 0 1 12 1c0 .567-.435 1-1.003 1H1.003z"/>
</svg>

After

Width:  |  Height:  |  Size: 451 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14">
<path fill="#6D6D6D" fill-rule="nonzero" d="M14.965 6C15.532 6 16 6.433 16 7s-.434 1-1.002 1H1.002A.983.983 0 0 1 0 7c0-.567.434-1 1.002-1h13.963zm-4.001 6c.568 0 1.036.433 1.036 1s-.435 1-1.003 1H1.003A.984.984 0 0 1 0 13c0-.567.435-1 1.003-1h9.96zM1.003 2A.984.984 0 0 1 0 1c0-.567.435-1 1.003-1h9.994A.984.984 0 0 1 12 1c0 .567-.435 1-1.003 1H1.003z"/>
</svg>

After

Width:  |  Height:  |  Size: 451 B

@ -0,0 +1,380 @@

#sitemapHost {
display: flex;
flex-direction: column;
height: 100%;
}
#sitemapHostBtn a {
background: url('images/sitemap_panel_on.svg') no-repeat center center, linear-gradient(transparent, transparent);
}
#sitemapHostBtn a.selected, #sitemapHostBtn a.selected:hover {
background: url('images/sitemap_panel_off.svg') no-repeat center center, linear-gradient(transparent, transparent);
}
#sitemapHost .pageButtonHeader {
top: -27px;
}
#sitemapTreeContainer {
overflow: auto;
width: 100%;
flex: 1;
-webkit-overflow-scrolling: touch;
}
.mobileMode #sitemapTreeContainer {
margin-left: 5px;
overflow-x: hidden;
}
.sitemapTree {
margin: 0px 0px 10px 0px;
overflow:visible;
}
.sitemapTree ul {
list-style-type: none;
margin: 0px 0px 0px 0px;
padding-left: 0px;
}
ul.sitemapTree {
display: inline-block;
min-width: 100%;
}
.pageSwapInstructions {
width: 129px;
font-size: 12px;
text-align: center;
color: #8c8c8c;
margin: 0 auto;
padding: 12px 0px;
line-height: 20px;
}
.sitemapMinus, .sitemapPlus {
vertical-align:middle;
background-repeat: no-repeat;
margin-right: 3px;
width: 7px;
height: 8px;
object-fit: contain;
display:inline-block;
}
.sitemapMinus {
margin-bottom: 0px;
background: url('images/open_item.svg') no-repeat center center, linear-gradient(transparent,transparent);
}
.sitemapPlus {
margin-bottom: 2px;
background: url('images/closed_item.svg') no-repeat center center, linear-gradient(transparent,transparent);
}
.mobileMode .sitemapMinus, .mobileMode .sitemapPlus {
width: 10.5px;
height: 12px;
margin-right: 5px;
background-size: contain;
}
.sitemapPageLink {
margin-left: 0px;
}
.sitemapPageIcon {
margin: 0px 6px -3px 3px;
width: 16px;
height: 16px;
display: inline-block;
background: url('images/page_lt_grey.svg') no-repeat center center, linear-gradient(transparent,transparent);
}
.mobileMode .sitemapPageIcon {
margin-right: 7px;
background-size: contain;
}
.sitemapFolderIcon {
background: url('images/folder_closed_blue.svg') no-repeat center center, linear-gradient(transparent,transparent);
}
.mobileMode .sitemapFolderIcon {
width: 18px;
height: 18px;
margin-left: 1px;
background-position-y: 1px;
background-size: contain;
}
.sitemapFolderOpenIcon {
background: url('images/folder_open.png') no-repeat center center;
background: url('images/folder_open.svg') no-repeat center center, linear-gradient(transparent,transparent);
}
.sitemapPageName {
font-size: 14px;
line-height: 1.93;
color: #4a4a4a;
}
.sitemapPageName.mobileText {
line-height: 1.69;
}
.sitemapNode {
white-space:nowrap;
}
.sitemapPageLinkContainer {
cursor: pointer;
padding-right: 10px;
}
.mobileMode .sitemapPageLinkContainer {
margin-bottom: 13px;
}
.sitemapHighlight {
background-color: #e6e6e6;
}
.sitemapGreyedName
{
color: #AAA;
}
.sitemapPluginNameHeader {
margin: 13px 9px 5px 9px;
font-size: 14px;
color: #444444;
}
.sitemapHeader {
padding-top: 7px;
}
.mobileMode .sitemapHeader {
padding-top: 0px;
}
.sitemapToolbar {
margin: 0px 3px 0px 5px;
display: flex;
align-items: center;
justify-content: flex-end;
}
.sitemapToolbarButton {
width: 19px;
height: 18px;
border: 1px solid transparent;
cursor: pointer;
flex: 0 0 auto;
}
.hashover .sitemapToolbarButton:hover {
border-radius: 3px;
background-color: #e6e6e6 !important;
}
.sitemapToolbarButton.sitemapToolbarButtonSelected, .sitemapToolbarButton.sitemapToolbarButtonSelected:hover{
background-color: inherit !important;
}
.leftArrow {
background: url('images/left_arrow.svg') no-repeat center center, linear-gradient(transparent,transparent);
margin-left: 11px;
}
.rightArrow {
background: url('images/right_arrow.svg') no-repeat center center, linear-gradient(transparent,transparent);
margin-left: 3px;
margin-right: 2px;
}
#searchIcon {
width: 10px;
height: 10px;
object-fit: contain;
background: url('images/search_on.svg') no-repeat center center, linear-gradient(transparent,transparent);
vertical-align: bottom;
padding: 5px 4px 5px 4px;
display: inline-block;
}
#searchIcon.sitemapToolbarButtonSelected {
padding: 5px 3px 5px 5px;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
border-left: solid 1px #cccccc;
border-top: solid 1px #cccccc;
border-bottom: solid 1px #cccccc;
background: url('images/search_off.svg') no-repeat center center, linear-gradient(transparent,transparent);
background-color: #FFFFFF !important;
}
.backKeys {
width: 20px;
height: 21px;
object-fit: contain;
vertical-align: bottom;
margin: 2px;
display: inline-block;
background: url('images/back_keys.svg') no-repeat center center, linear-gradient(transparent,transparent);
}
.forwardKeys {
width: 20px;
height: 21px;
object-fit: contain;
vertical-align: bottom;
margin: 2px;
display: inline-block;
background: url('images/forward_keys.svg') no-repeat center center, linear-gradient(transparent,transparent);
}
#interfaceAdaptiveViewsListContainer {
position: absolute;
display: none;
width: 220px;
left: 155px;
padding: 6px 9px;
top: 36px;
}
#interfaceScaleListContainer {
padding: 7.5px 9px 12px 16px;
margin-top: 9px;
border-top: solid 1px #bdbcbc;
order: 10;
}
.adaptiveViewOption, .vpPresetOption, .vpScaleOption {
padding: 3px 0px 3px 0px;
color: #3B3B3B;
display: flex;
}
.projectOptionsScaleRow, .projectOptionsAdaptiveViewRow, .projectOptionsHotspotsRow {
border-top: solid 1px #c7c7c7;
display: flex;
padding: 13px 7px 13px 0px;
}
.adaptiveViewOption:hover, .vpScaleOption:hover, .vpPresetOption:hover, .projectOptionsAdaptiveViewRow:hover, .projectOptionsScaleRow:hover
{
cursor: pointer;
}
.scaleRadioButton, .adapViewRadioButton {
border: solid 1px #8c8c8c;
display: inline-block;
position: relative;
width: 12px;
height: 12px;
border-radius: 48px;
margin-right: 12px;
top: 2px;
flex-shrink: 0;
}
.mobileMode .scaleRadioButton, .mobileMode .adapViewRadioButton {
width: 20px;
height: 20px;
border-radius: 60px;
margin-right: 22px;
margin-left: 22px;
top: 0px;
flex-shrink: 0;
}
.selectedRadioButton {
border: solid 1px #20aca9;
}
.selectedRadioButtonFill {
position: relative;
display: none;
background-color: #20aca9;
margin: auto;
width: 8px;
height: 8px;
border-radius: 30px;
top: 2px;
}
.mobileMode .selectedRadioButtonFill {
width: 12px;
height: 12px;
border-radius: 48px;
top: 4px;
}
#searchDiv {
display: flex;
margin-right: auto;
flex: 1;
}
#searchBox {
display: none;
width: 0%;
height: 22px;
padding-left: 5px;
border-radius: 0px 5px 5px 0px;
border-right: solid 1px #cccccc;
border-top: solid 1px #cccccc;
border-bottom: solid 1px #cccccc;
border-left: none;
-webkit-appearance: none;
}
#searchBox:focus {
outline-width: 0;
}
.searchBoxHint {
color: #8f949a;
}
#sitemapHost.popup #searchDiv{
display: none;
}
#sitemapHost.popup #sitemapHeader{
display: none;
}
#sitemapHost.popup #changePageInstructions{
display: none;
}
.mobileMode #sitemapHeader {
display: none;
}
/* Expo Sitemap
******************************************************************************/
.expoSitemapNode {
padding: 15px;
text-align: center;
}
.sitemapPageImg {
max-width: 90%;
max-height: 150px;
}
.popup .sitemapPageImg {
display: none;
}
.popup .expoSitemapNode {
padding: 0 0 0 10px;
text-align: left;
}

@ -0,0 +1,35 @@
<html>
<head>
<title></title>
</head>
<body>
<br />
<div style="width:100%; text-align:center; font-family:Arial; font-size:12px;" id=other></div>
<br />
<div style="width:100%; text-align:center; font-family:Arial; font-size:12px;">
<button onclick="parent.window.close();">
Close
</button>
</div>
<SCRIPT src="axurerp_pagescript.js"></SCRIPT>
<script language=javascript>
function getQueryVariable(variable) {
var query = window.location.hash.substring(1);
var vars = query.split("&&&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return decodeURI(pair[1]);
}
}
}
var other = document.getElementById('other');
other.innerHTML = getQueryVariable('other');
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

@ -0,0 +1,186 @@
<html>
<head>
<title>Install the Axure RP Chrome Extension</title>
<style type="text/css">
*
{
font-family: NunitoSans, Helvetica, Arial, sans-serif;
}
body
{
text-align: center;
background-color: #fafafa;
}
p
{
font-size: 14px;
line-height: 18px;
color: #333333;
}
div.container
{
width: 980px;
margin-left: auto;
margin-right: auto;
text-align: left;
}
a
{
text-decoration: none;
color: #009dda;
}
.button
{
background: #A502B3;
font: normal 16px Arial, sans-serif;
color: #FFFFFF;
padding: 10px 30px 10px 30px;
border: 2px solid #A502B3;
display: inline-block;
margin-top: 10px;
text-transform: uppercase;
font-size: 14px;
border-radius: 4px;
}
a:hover.button
{
border: 2px solid #A502B3;
color: #A502B3;
background-color: #FFFFFF;
}
div.left
{
width: 400px;
float: left;
margin-right: 80px;
}
div.right
{
width: 400px;
float: left;
}
div.buttonContainer
{
text-align: center;
}
h1
{
font-size: 36px;
color: #333333;
line-height: 50px;
margin-bottom: 20px;
font-weight: normal;
}
h2
{
font-size: 24px;
font-weight: normal;
color: #08639C;
text-align: center;
}
h3
{
font-size: 16px;
color: #333333;
font-weight: normal;
text-transform: uppercase;
}
.heading
{
border-bottom: 1px solid black;
height: 36px;
line-height: 36px;
font-size: 22px;
color: #000000;
}
span.faq
{
font-size: 16px;
line-height: 24px;
font-weight: normal;
text-transform: uppercase;
color: #333333;
display: block;
}
</style>
</head>
<body>
<div class="container">
<br />
<br />
<img src="axure_logo.png" alt="axure" />
<br />
<br />
<h1>
AXURE RP EXTENSION FOR CHROME</h1>
<p style="font-size: 14px; color: #666666; margin-top: 10px;">
Google Chrome requires an extension to view locally stored projects. Alternatively,
upload your RP file to <a href="https://share.axure.com">Axure Cloud</a> or use a different
browser.</p>
<h3 class="heading">
VIEW LOCAL PROJECTS IN CHROME</h3>
<div class="left">
<h3>
1. Install Extension from Chrome Store</h3>
<div class="buttonContainer">
<a class="button" href="https://chrome.google.com/webstore/detail/dogkpdfcklifaemcdfbildhcofnopogp"
target="_blank">Install Extension</a>
</div>
</div>
<div class="right">
<h3>
2. Open "More Tools > Extensions"</h3>
<img src="extensions.png" alt="extensions"/>
</div>
<div style="clear: both; height: 20px;">
&nbsp;</div>
<div class="left">
<h3>
3. View Axure RP Extension Details</h3>
<img src="details.png" alt="extension details"/>
</div>
<div class="right">
<h3>
4. Check "Allow access to file URLs"</h3>
<img src="allow-access.png" alt="allow access"/>
</div>
<div style="clear: both; height: 20px;">
&nbsp;</div>
<div class="left">
<h3>
5. Click the button below</h3>
<div class="buttonContainer">
<a class="button" href="../../start.html">View in Chrome</a>
</div>
</div>
<div style="clear: both; height: 20px;">
</div>
<h3 class="heading">
EXTENSION FAQ</h3>
<p>
<span class="faq">What is a Chrome Extension?</span> Extensions are downloadable
plug-ins for Google Chrome that modify the browser
and allow you additional capabilities.
</p>
<p style="margin-top: 25px;">
<span class="faq">Why do I need to install the extension?</span> Google requires
this extension to be installed to allow the viewing of local files in
Chrome
</p>
<p style="margin-top: 25px; margin-bottom: 25px;">
<span class="faq">Why does this extension require a high access level?</span> This
extension requires a high access level to allow the viewing of the file://
protocol. Axure does not track or access any of your information.
</p>
<h3 class="heading">
WE'RE HERE TO HELP</h3>
<p>
Need help or have any questions? Contact our support team at <a href="mailto:support@axure.com">
support@axure.com</a>.
</p>
<div style="clear: both; height: 20px;">
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

@ -0,0 +1,154 @@
<html>
<head>
<title>Axure RP - Safari Local File Restrictions</title>
<style type="text/css">
*
{
font-family: Helvetica, Arial, sans-serif;
}
body
{
text-align: center;
background-color: #fafafa;
}
p
{
font-size: 14px;
line-height: 18px;
color: #333333;
}
div.container
{
width: 980px;
margin-left: auto;
margin-right: auto;
text-align: left;
}
a
{
text-decoration: none;
color: #009dda;
}
.button
{
background: #A502B3;
font: normal 16px Arial, sans-serif;
color: #FFFFFF;
padding: 10px 30px 10px 30px;
border: 2px solid #A502B3;
display: inline-block;
margin-top: 10px;
text-transform: uppercase;
font-size: 14px;
border-radius: 4px;
}
a:hover.button
{
border: 2px solid #A502B3;
color: #A502B3;
background-color: #FFFFFF;
}
div.left
{
width: 400px;
float: left;
margin-right: 80px;
}
div.right
{
width: 400px;
float: left;
}
div.buttonContainer
{
text-align: center;
}
h1
{
font-size: 36px;
color: #333333;
line-height: 50px;
margin-bottom: 20px;
font-weight: normal;
}
h2
{
font-size: 24px;
font-weight: normal;
color: #08639C;
text-align: center;
}
h3
{
font-size: 16px;
line-height: 24px;
color: #333333;
font-weight: normal;
}
.heading
{
border-bottom: 1px solid black;
height: 36px;
line-height: 36px;
font-size: 22px;
color: #000000;
}
span.faq
{
font-size: 16px;
font-weight: normal;
text-transform: uppercase;
color: #333333;
display: block;
}
</style>
</head>
<body>
<div class="container">
<br />
<br />
<img src="axure_logo.png" alt="axure" />
<br />
<h1>
SAFARI LOCAL FILE RESTRICTIONS</h1>
<p style="font-size: 16px; line-height: 24px; color: #666666; margin-top: 10px;">
To view locally stored projects in Safari, you will need to "disable local file restrictions". Alternatively,
you can upload your RP file to <a href="https://share.axure.com">Axure Cloud</a> or publish the local files to a web server.</p>
<h3 class="heading">
VIEW LOCAL PROJECTS IN SAFARI</h3>
<div class="">
<h3>
1. Open "Safari > Preferences > Advanced" from the top menu menu, and check the option to "Show Develop menu in menu bar"</h3>
<img src="safari_advanced.png" alt="advanced" />
</div>
<div style="clear: both; height: 20px;">
&nbsp;
</div>
<div class="">
<h3>
2. In the Develop menu that appears in the menu bar, click "Develop > Disable Local File Restrictions" to un-select the menu option</h3>
<img src="safari_restrictions.png" alt="extensions" />
</div>
<div style="clear: both; height: 20px;">
&nbsp;</div>
<div class="left">
<h3>
3. Click the button below
</h3>
<div class="buttonContainer">
<a class="button" href="../../start.html">View in Safari</a>
</div>
</div>
<div style="clear: both; height: 20px;">
</div>
<h3 class="heading">
We're Here to Help</h3>
<p>
Need help or have any questions? Drop us a line at <a href="mailto:support@axure.com">
support@axure.com</a>.
</p>
<div style="clear: both; height: 20px;">
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

@ -0,0 +1,292 @@
/* so the window resize fires within a frame in IE7 */
html, body {
height: 100%;
}
.mobileFrameCursor div * {
cursor: inherit !important;
}
a {
color: inherit;
}
p {
margin: 0px;
text-rendering: optimizeLegibility;
font-feature-settings: "kern" 1;
-webkit-font-feature-settings: "kern";
-moz-font-feature-settings: "kern";
-moz-font-feature-settings: "kern=1";
font-kerning: normal;
}
ul {
margin:0px;
}
iframe {
background: #FFFFFF;
}
/* to match IE with C, FF */
input {
padding: 1px 0px 1px 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
input[type=text]::-ms-clear {
width: 0;
height: 0;
display: none;
}
textarea {
margin: 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
.focused:focus, .selectedFocused:focus {
outline: none;
}
div.intcases {
font-family: arial;
font-size: 12px;
text-align:left;
border:1px solid #AAA;
background:#FFF none repeat scroll 0% 0%;
z-index:9999;
visibility:hidden;
position:absolute;
padding: 0px;
border-radius: 3px;
white-space: nowrap;
}
div.intcaselink {
cursor: pointer;
padding: 3px 8px 3px 8px;
margin: 5px;
background:#EEE none repeat scroll 0% 0%;
border:1px solid #AAA;
border-radius: 3px;
}
div.refpageimage {
position: absolute;
left: 0px;
top: 0px;
font-size: 0px;
width: 16px;
height: 16px;
cursor: pointer;
background-image: url(images/newwindow.gif);
background-repeat: no-repeat;
}
div.annnoteimage {
position: absolute;
left: 0px;
top: 0px;
font-size: 0px;
/*width: 16px;
height: 12px;*/
cursor: help;
/*background-image: url(images/note.gif);*/
/*background-repeat: no-repeat;*/
width: 13px;
height: 12px;
padding-top: 1px;
text-align: center;
background-color: #138CDD;
-moz-box-shadow: 1px 1px 3px #aaa;
-webkit-box-shadow: 1px 1px 3px #aaa;
box-shadow: 1px 1px 3px #aaa;
}
div.annnoteline {
display: inline-block;
width: 9px;
height: 1px;
border-bottom: 1px solid white;
margin-top: 1px;
}
div.annnotelabel {
/*position: absolute;
left: 0px;
top: 0px;*/
font-family: Helvetica,Arial;
white-space: nowrap;
padding-top: 1px;
background-color: #fff849;
font-size: 10px;
font-weight: bold;
line-height: 14px;
margin-right: 3px;
padding: 0px 4px;
color: #000;
-moz-box-shadow: 1px 1px 3px #aaa;
-webkit-box-shadow: 1px 1px 3px #aaa;
box-shadow: 1px 1px 3px #aaa;
}
div.annnote {
display: flex;
position: absolute;
cursor: help;
line-height: 14px;
}
.annotation {
font-size: 12px;
padding-left: 2px;
margin-bottom: 5px;
}
.annotationName {
/*font-size: 13px;
font-weight: bold;
margin-bottom: 3px;
white-space: nowrap;*/
font-family: 'Trebuchet MS';
font-size: 14px;
font-weight: bold;
margin-bottom: 5px;
white-space: nowrap;
}
.annotationValue {
font-family: Arial, Helvetica, Sans-Serif;
font-size: 12px;
color: #4a4a4a;
line-height: 21px;
margin-bottom: 20px;
}
.noteLink {
text-decoration: inherit;
color: inherit;
}
.noteLink:hover {
background-color: white;
}
/* this is a fix for the issue where dialogs jump around and takes the text-align from the body */
.dialogFix {
position:absolute;
text-align:left;
border: 1px solid #8f949a;
}
@keyframes pulsate {
from {
box-shadow: 0 0 10px #15d6ba;
}
to {
box-shadow: 0 0 20px #15d6ba;
}
}
@-webkit-keyframes pulsate {
from {
-webkit-box-shadow: 0 0 10px #15d6ba;
box-shadow: 0 0 10px #15d6ba;
}
to {
-webkit-box-shadow: 0 0 20px #15d6ba;
box-shadow: 0 0 20px #15d6ba;
}
}
@-moz-keyframes pulsate {
from {
-moz-box-shadow: 0 0 10px #15d6ba;
box-shadow: 0 0 10px #15d6ba;
}
to {
-moz-box-shadow: 0 0 20px #15d6ba;
box-shadow: 0 0 20px #15d6ba;
}
}
.legacyPulsateBorder {
/*border: 5px solid #15d6ba;
margin: -5px;*/
-moz-box-shadow: 0 0 10px 3px #15d6ba;
box-shadow: 0 0 10px 3px #15d6ba;
}
.pulsateBorder {
animation-name: pulsate;
animation-timing-function: ease-in-out;
animation-duration: 0.9s;
animation-iteration-count: infinite;
animation-direction: alternate;
-webkit-animation-name: pulsate;
-webkit-animation-timing-function: ease-in-out;
-webkit-animation-duration: 0.9s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: alternate;
-moz-animation-name: pulsate;
-moz-animation-timing-function: ease-in-out;
-moz-animation-duration: 0.9s;
-moz-animation-iteration-count: infinite;
-moz-animation-direction: alternate;
}
.ax_default_hidden, .ax_default_unplaced{
display: none;
visibility: hidden;
}
.widgetNoteSelected {
-moz-box-shadow: 0 0 10px 3px #138CDD;
box-shadow: 0 0 10px 3px #138CDD;
/*-moz-box-shadow: 0 0 20px #3915d6;
box-shadow: 0 0 20px #3915d6;*/
/*border: 3px solid #3915d6;*/
/*margin: -3px;*/
}
.singleImg {
display: none;
visibility: hidden;
}
#ios-safari {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
#ios-safari-html {
display: block;
overflow: auto;
-webkit-overflow-scrolling: touch;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
#ios-safari-fixed {
position: absolute;
pointer-events: none;
width: initial;
}
#ios-safari-fixed div {
pointer-events: auto;
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>
<img border="0" src="note.gif" width="1" height="1">
<img border="0" src="newwindow.gif" width="1" height="1">
<img border="0" src="ui-bg_flat_0_aaaaaa_40x100.png" width="1" height="1">
<img border="0" src="ui-bg_glass_55_fbf9ee_1x400.png" width="1" height="1">
<img border="0" src="ui-bg_glass_65_ffffff_1x400.png" width="1" height="1">
<img border="0" src="ui-bg_glass_75_dadada_1x400.png" width="1" height="1">
<img border="0" src="ui-bg_glass_75_e6e6e6_1x400.png" width="1" height="1">
<img border="0" src="ui-bg_glass_75_ffffff_1x400.png" width="1" height="1">
<img border="0" src="ui-bg_highlight-soft_75_cccccc_1x100.png" width="1" height="1">
<img border="0" src="ui-bg_inset-soft_95_fef1ec_1x100.png" width="1" height="1">
<img border="0" src="ui-icons_222222_256x240.png" width="1" height="1">
<img border="0" src="ui-icons_2e83ff_256x240.png" width="1" height="1">
<img border="0" src="ui-icons_454545_256x240.png" width="1" height="1">
<img border="0" src="ui-icons_888888_256x240.png" width="1" height="1">
<img border="0" src="ui-icons_cd0a0a_256x240.png" width="1" height="1">
</p>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save