Add refresh button on tracking info page (close #24), add scan sound

This commit is contained in:
Skylar Ittner 2019-11-22 19:21:28 -07:00
parent 2bb6aa0b8d
commit f6f811d404
5 changed files with 43 additions and 15 deletions

BIN
www/assets/audio/scan.mp3 Normal file

Binary file not shown.

View File

@ -20,7 +20,8 @@ function initSFX() {
sfx = { sfx = {
"alert": new Audio("assets/audio/" + alertNoiseFile), "alert": new Audio("assets/audio/" + alertNoiseFile),
"ok": new Audio("assets/audio/ok.mp3"), "ok": new Audio("assets/audio/ok.mp3"),
"error": new Audio("assets/audio/error.mp3") "error": new Audio("assets/audio/error.mp3"),
"scan": new Audio("assets/audio/scan.mp3")
}; };
setVolume("alert", alertVolume); setVolume("alert", alertVolume);

View File

@ -113,7 +113,7 @@ function initCordova() {
showFlipCameraButton : true, showFlipCameraButton : true,
prompt: "Scan barcode", prompt: "Scan barcode",
resultDisplayDuration: 0, resultDisplayDuration: 0,
disableSuccessBeep: false, disableSuccessBeep: true,
formats: "QR_CODE,DATA_MATRIX,CODE_39,CODE_93,CODE_128,CODABAR,PDF_417,AZTEC,MAXICODE" formats: "QR_CODE,DATA_MATRIX,CODE_39,CODE_93,CODE_128,CODABAR,PDF_417,AZTEC,MAXICODE"
} }
); );

View File

@ -4,6 +4,8 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/ */
var lasttrackingcode = "";
function locationArrayToString(location) { function locationArrayToString(location) {
var locarray = []; var locarray = [];
if (location.street != "" && location.street != null) { if (location.street != "" && location.street != null) {
@ -58,7 +60,15 @@ function trackingStatusToNiceString(status, icon) {
} }
} }
function openTrackingHistory(trackingcode) { function openTrackingHistory(code) {
var refresh = false;
if (typeof code == "undefined") {
trackingcode = lasttrackingcode;
refresh = true;
} else {
trackingcode = code;
}
lasttrackingcode = trackingcode;
var requestfinished = false; var requestfinished = false;
var trackingdialogopen = false; var trackingdialogopen = false;
$.ajax({ $.ajax({
@ -89,11 +99,18 @@ function openTrackingHistory(trackingcode) {
infocontext.history[i].status = trackingStatusToNiceString(infocontext.history[i].status, true); infocontext.history[i].status = trackingStatusToNiceString(infocontext.history[i].status, true);
} }
// TODO: format timestamps as local time // TODO: format timestamps as local time
if (refresh) {
router.navigate("/toolbox/track/info", {
context: infocontext,
reloadCurrent: true
});
} else {
router.navigate("/toolbox/track/info", { router.navigate("/toolbox/track/info", {
context: infocontext context: infocontext
}); });
}
} else { } else {
playSound("error");
app.dialog.alert(resp.message, "Error"); app.dialog.alert(resp.message, "Error");
} }
}, },
@ -103,12 +120,15 @@ function openTrackingHistory(trackingcode) {
trackingdialogopen = false; trackingdialogopen = false;
} }
requestfinished = true; requestfinished = true;
playSound("error");
app.dialog.alert("There was a network issue while tracking the item. Please try again.", "Error"); app.dialog.alert("There was a network issue while tracking the item. Please try again.", "Error");
} }
}); });
// Open a loading message if there's a delay // Open a loading message if there's a delay or we're refreshing the page
if (refresh) {
app.dialog.preloader("Tracking...");
trackingdialogopen = true;
} else {
setTimeout(function () { setTimeout(function () {
if (!requestfinished) { if (!requestfinished) {
app.dialog.preloader("Tracking..."); app.dialog.preloader("Tracking...");
@ -116,9 +136,11 @@ function openTrackingHistory(trackingcode) {
} }
}, 750); }, 750);
} }
}
function scanTrackingBarcode() { function scanTrackingBarcode() {
scanBarcode(function (code) { scanBarcode(function (code) {
playSound("scan");
if (code != "" && code.length > 5) { if (code != "" && code.length > 5) {
openTrackingHistory(code); openTrackingHistory(code);
} else { } else {

View File

@ -13,6 +13,11 @@
</a> </a>
</div> </div>
<div class="title">Tracking Status</div> <div class="title">Tracking Status</div>
<div class="right">
<a class="link" onclick="openTrackingHistory()">
<i class="material-icons">refresh</i>
</a>
</div>
</div> </div>
</div> </div>