You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.8 KiB
JavaScript

/*
* Copyright 2020 Netsyms Technologies.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
$("#machinesearchbar").submit(function (evt) {
evt.preventDefault();
router.navigate("/machine/" + $("#machinesearchbar input[type=search]").val());
});
$("#clientsearchbar").submit(function (evt) {
evt.preventDefault();
router.navigate("/clients/" + $("#clientsearchbar input[type=search]").val());
});
function openMachineInfoByBarcode(code) {
if (code.startsWith("http") || !code.match(/^([A-Z0-9])+$/)) {
matches = code.match(/[0-9A-Z]{8,}/g);
if (matches == null || matches.length == 0) {
app.dialog.alert("No IDs detected in barcode.", "Error");
} else if (matches.length == 1) {
router.navigate("/machine/" + matches[0]);
} else if (matches.length > 1) {
var buttons = [];
for (var i = 0; i < matches.length; i++) {
buttons.push({
text: matches[i]
});
}
app.dialog.create({
title: 'Multiple IDs',
text: 'Multiple potential IDs exist in that barcode. Select the correct one.',
buttons: buttons,
verticalButtons: true,
onClick: function (dialog, index) {
var id = matches[index];
router.navigate("/machine/" + id);
}
}).open();
}
} else {
router.navigate("/machine/" + code);
}
}
function scanBarcodeOpenMachine() {
scanBarcode(function (code) {
openMachineInfoByBarcode(code);
}, function (error) {
app.dialog.alert(error, "Error");
});
}