init
171
03-资料/产品相关文档/快递员端/快递员/plugins/debug/debug.js
Normal file
@@ -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();
|
||||
}
|
||||
|
||||
})();
|
265
03-资料/产品相关文档/快递员端/快递员/plugins/debug/styles/debug.css
Normal file
@@ -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 |
474
03-资料/产品相关文档/快递员端/快递员/plugins/page_notes/page_notes.js
Normal file
@@ -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(' ');
|
||||
}
|
||||
}
|
||||
|
||||
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 |
209
03-资料/产品相关文档/快递员端/快递员/plugins/page_notes/styles/page_notes.css
Normal file
@@ -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;
|
||||
}
|
479
03-资料/产品相关文档/快递员端/快递员/plugins/recordplay/recordplay.js
Normal file
@@ -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;
|
||||
}
|
553
03-资料/产品相关文档/快递员端/快递员/plugins/sitemap/sitemap.js
Normal file
@@ -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 |
380
03-资料/产品相关文档/快递员端/快递员/plugins/sitemap/styles/sitemap.css
Normal file
@@ -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;
|
||||
}
|