Skip to content
35 changes: 28 additions & 7 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,13 @@
<script type="text/javascript" language="javascript" src="lib/Blob/Blob.js"></script>
<script type="text/javascript" language="javascript" src="lib/rest_library/JSmap.js"></script>
<script type="text/javascript" language="javascript" src="lib/rest_library/areCommunicator.js"></script>
<!-- namespace: -->
<!-- namespace, constants: -->
<script type="text/javascript" language="javascript" src="acsNamespace.js"></script>
<script type="text/javascript" language="javascript" src="view/vConst.js"></script>
<!-- misc: -->
<script type="text/javascript" language="javascript" src="eventManager.js"></script>
<!-- model: -->
<script type="text/javascript" language="javascript" src="model/utils.js"></script>
<script type="text/javascript" language="javascript" src="model/mConst.js"></script>
<script type="text/javascript" language="javascript" src="model/clipBoard.js"></script>
<script type="text/javascript" language="javascript" src="model/action.js"></script>
Expand All @@ -58,10 +60,8 @@
<script type="text/javascript" language="javascript" src="model/model.js"></script>
<script type="text/javascript" language="javascript" src="model/modelList.js"></script>
<script type="text/javascript" language="javascript" src="model/areStatus.js"></script>
<script type="text/javascript" language="javascript" src="model/utils.js"></script>
<!-- view: -->
<script type="text/javascript" language="javascript" src="view/view.js"></script>
<script type="text/javascript" language="javascript" src="view/vConst.js"></script>
<script type="text/javascript" language="javascript" src="view/tabPanel.js"></script>
<script type="text/javascript" language="javascript" src="view/visualAreaMarkerView.js"></script>
<script type="text/javascript" language="javascript" src="view/componentView.js"></script>
Expand Down Expand Up @@ -115,7 +115,8 @@ <h2>ARE</h2>
<ul class="buttonList">
<li><button type="button" class="menuButton" id="connectAREBtn"><div class="buttonContents"><img src="view/images/connect.png" alt="Connect to ARE" />Connect<br />to ARE</div></button></li>
<li><button type="button" class="menuButton" id="disconnectAREBtn" disabled><div class="buttonContents"><img src="view/images/disconnect.png" alt="Disconnect from ARE" />Disconnect<br />from ARE</div></button></li>
<li><button type="button" class="menuButton" id="uploadModelBtn" disabled><div class="buttonContents"><img src="view/images/Upload.png" alt="Upload model" />Upload<br />Model</div></button></li>
<li id="uploadModelBtnContainer"><button type="button" class="menuButton" id="uploadModelBtn" disabled><div class="buttonContents"><img src="view/images/Upload.png" alt="Upload model" />Upload<br />Model</div></button></li>
<li id="testModelBtnContainer" style="display: none"><button type="button" class="menuButton" id="testModelBtn" disabled><div class="buttonContents"><img src="view/images/Upload.png" alt="Test model" />Test<br />Model</div></button></li>
<li><button type="button" class="menuButton" id="downloadModelBtn" disabled><div class="buttonContents"><img src="view/images/Download.png" alt="Download model" />Download<br />Model</div></button></li>
<li><button type="button" class="menuButton" id="downloadCompCollBtn" disabled><div class="buttonContents"><img src="view/images/DownloadBundle.png" alt="Download component collection" />Download<br />Component Collection</div></button></li>
</ul>
Expand All @@ -134,8 +135,8 @@ <h2>ARE Storage</h2>
<h2>Model</h2>
<ul class="buttonList">
<li><button type="button" class="menuButton" id="startModelBtn" disabled><div class="buttonContents"><img src="view/images/StartModel.png" alt="Start model" />Start<br />Model</div></button></li>
<li><button type="button" class="menuButton" id="pauseModelBtn" disabled><div class="buttonContents"><img src="view/images/PauseModel.png" alt="Pause model" />Pause<br />Model</div></button></li>
<li><button type="button" class="menuButton" id="stopModelBtn" disabled><div class="buttonContents"><img src="view/images/StopModel.png" alt="Stop model" />Stop<br />Model</div></button></li>
<li id="pauseModelBtnContainer"><button type="button" class="menuButton" id="pauseModelBtn" disabled><div class="buttonContents"><img src="view/images/PauseModel.png" alt="Pause model" />Pause<br />Model</div></button></li>
<li id="stopModelBtnContainer"><button type="button" class="menuButton" id="stopModelBtn" disabled><div class="buttonContents"><img src="view/images/StopModel.png" alt="Stop model" />Stop<br />Model</div></button></li>
</ul>
</section>
<section class="buttonGroup bg_right">
Expand Down Expand Up @@ -197,6 +198,20 @@ <h2>Miscellaneous</h2>
<li><button type="button" class="menuButton" id="printBtn" disabled><div class="buttonContents"><img src="view/images/Printer.png" alt="Print" />Print</div></button></li>
<li><button type="button" class="menuButton" id="helpBtn" title="Help (F1)"><div class="buttonContents"><img src="view/images/Question.png" alt="Help (F1)" />Help</div></button></li>
<li><button type="button" class="menuButton" id="aboutBtn"><div class="buttonContents"><img src="view/images/about.png" alt="About" />About</div></button></li>
<li style="margin-left: 1em">
<div>
<input type="checkbox" id="checkboxEnableTestMode" style="top: 0"/>
<label for="checkboxEnableTestMode" style="display: inline; color: black">Enable test-auto-revert mode</label>
</div>
<div>
<label for="inputTestModeTime" style="display: inline; color: black">Test mode timeout (s)</label>
<input type="number" id="inputTestModeTime" style="top: 0" min="1" value="30"/>
</div>
<div>
<label for="inputTestModeFontsize" style="display: inline; color: black">Test mode button fontsize (px)</label>
<input type="number" id="inputTestModeFontsize" style="top: 0" min="1" value="13"/>
</div>
</li>
</ul>
</section>
</div>
Expand All @@ -221,7 +236,13 @@ <h2>Miscellaneous</h2>
<span class="bold">ARE status: </span>
<span id="AREstatus">Disconnected</span>
<span id="synchronisationStatus"></span>
</div>
<span id="testStatus">
<span id="testStatusText"></span>
<button id="btnTestStatusAdd" style="display: none">+30s</button>
<button id="btnTestStatusCancel" style="display: none">revert model</button>
<button id="btnTestStatusApprove" style="display: none">approve model</button>
</span>
</div>
<div id="zoomBar">
<span id="zoomPercent">100%</span>
<input type="range" name="zoomSlider" id="zoomSlider" min="20" max="200" />
Expand Down
2 changes: 2 additions & 0 deletions lib/rest_library/areCommunicator.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,11 @@ function startModel(successCallback, errorCallback) {
datatype: "text",
crossDomain: true,
success: function(data, textStatus, jqXHR) {
if (!successCallback) return;
successCallback(jqXHR.responseText, textStatus);
},
error: function(jqXHR, textStatus, errorThrown) {
if (!errorCallback) return;
errorCallback(errorThrown, jqXHR.responseText);
}
});
Expand Down
19 changes: 17 additions & 2 deletions model/areStatus.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
// ***********************************************************************************************************************
var status = ACS.statusType.DISCONNECTED;
var synchronised = undefined;
var syncDisabled = ACS.utils.getLocalStorageItem(ACS.vConst.WEBACS_OPTIONS_TESTMODE);
var modelList;

// ***********************************************************************************************************************
Expand Down Expand Up @@ -171,13 +172,27 @@
}

returnObj.setSynchronised = function(newSync) {
synchronised = newSync;
synchronised = newSync && !syncDisabled;
log.debug('setting sync: ' + synchronised);
returnObj.events.fireEvent('ARESynchronisationChangedEvent');
}

returnObj.disableSynchronization = function() {
synchronised = false;
syncDisabled = true;
log.debug('disabled synchronization!');
returnObj.events.fireEvent('ARESynchronisationChangedEvent');
}

returnObj.enableSynchronization = function() {
syncDisabled = false;
returnObj.checkAndSetSynchronisation();
log.debug('enabled synchronization!');
returnObj.events.fireEvent('ARESynchronisationChangedEvent');
}

returnObj.getSynchronised = function() {
return synchronised;
return synchronised && !syncDisabled;
}

returnObj.setStatus = function(newStatus) { // ACS.statusType
Expand Down
16 changes: 16 additions & 0 deletions model/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,20 @@ ACS.utils.encodeForXml = function (string) {
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&apos;');
};

ACS.utils.saveLocalStorageItem = function (key, value) {
if (!window.localStorage) {
log.warn('local storage not supported');
return;
}
window.localStorage.setItem(key, JSON.stringify(value));
};

ACS.utils.getLocalStorageItem = function (key) {
if (!window.localStorage) {
log.warn('local storage not supported');
return;
}
return JSON.parse(window.localStorage.getItem(key));
};
Loading