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

master
Skylar Ittner 5 years ago
parent 2bb6aa0b8d
commit f6f811d404

Binary file not shown.

@ -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);

@ -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"
} }
); );

@ -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
router.navigate("/toolbox/track/info", {
context: infocontext if (refresh) {
}); router.navigate("/toolbox/track/info", {
context: infocontext,
reloadCurrent: true
});
} else {
router.navigate("/toolbox/track/info", {
context: infocontext
});
}
} else { } else {
playSound("error");
app.dialog.alert(resp.message, "Error"); app.dialog.alert(resp.message, "Error");
} }
}, },
@ -103,22 +120,27 @@ 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
setTimeout(function () { if (refresh) {
if (!requestfinished) { app.dialog.preloader("Tracking...");
app.dialog.preloader("Tracking..."); trackingdialogopen = true;
trackingdialogopen = true; } else {
} setTimeout(function () {
}, 750); if (!requestfinished) {
app.dialog.preloader("Tracking...");
trackingdialogopen = true;
}
}, 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 {

@ -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>

Loading…
Cancel
Save