mirror of
https://github.com/zyphlar/doorlock.git
synced 2024-04-03 21:36:03 +00:00
fine tuning ajax timing, naming, and start script
This commit is contained in:
parent
aa57b26a8b
commit
31d059972c
|
@ -6,38 +6,46 @@ $(function(){
|
|||
}, 20000);
|
||||
|
||||
$("#rfid").keydown(function(event){
|
||||
// cancel enter keys
|
||||
// prevent enter key from submitting form; we want AJAX if possible
|
||||
if (event.keyCode === 13){
|
||||
return false;
|
||||
}
|
||||
|
||||
}).keyup(function(event){
|
||||
// store value
|
||||
value = $("#rfid").val();
|
||||
|
||||
// start processing after the first few chars
|
||||
if (value.length >= 5) {
|
||||
// start processing after the enter key
|
||||
if (event.keyCode === 13) {
|
||||
// wait to send the request for a sec to let them finish typing
|
||||
setTimeout(function(){
|
||||
// clear input box
|
||||
$("#rfid").val(null);
|
||||
// post value to server
|
||||
loading(true);
|
||||
$.post("/checkin", {"rfid":value}, function(data){
|
||||
console.log(data);
|
||||
if (data.hasOwnProperty("success")) {
|
||||
if (data.success) {
|
||||
success(data.name);
|
||||
if (!window.checkinLoading) {
|
||||
// use global var to prevent simultaneous posts
|
||||
window.checkinLoading = true;
|
||||
console.log("Checking in...");
|
||||
$.post("/checkin", {"rfid":value}, function(data){
|
||||
console.log(data);
|
||||
if (data.hasOwnProperty("success")) {
|
||||
if (data.success) {
|
||||
success(data.name);
|
||||
} else {
|
||||
failure();
|
||||
}
|
||||
} else {
|
||||
failure();
|
||||
error();
|
||||
}
|
||||
} else {
|
||||
}, "json").fail(function(){
|
||||
error();
|
||||
}
|
||||
}, "json").fail(function(){
|
||||
error();
|
||||
}).always(function(){
|
||||
loading(false);
|
||||
});
|
||||
}).always(function(){
|
||||
loading(false);
|
||||
window.checkinLoading = false;
|
||||
});
|
||||
} else {
|
||||
console.log("Already checking in; canceled.");
|
||||
}
|
||||
}, 250);
|
||||
}
|
||||
});
|
||||
|
@ -61,19 +69,25 @@ function reset(){
|
|||
|
||||
function success(name){
|
||||
reset();
|
||||
$("#name").text(name);
|
||||
$("#success").removeClass("dn");
|
||||
setTimeout(function(){ reset(); }, 5000);
|
||||
setTimeout(function(){
|
||||
$("#name").text(name);
|
||||
$("#success").removeClass("dn");
|
||||
setTimeout(function(){ reset(); }, 6000); // 6000 to match door.js(const DELAY)
|
||||
}, 250);
|
||||
}
|
||||
|
||||
function failure(){
|
||||
reset();
|
||||
$("#failure").removeClass("dn");
|
||||
setTimeout(function(){ reset(); }, 5000);
|
||||
setTimeout(function(){
|
||||
$("#failure").removeClass("dn");
|
||||
setTimeout(function(){ reset(); }, 6000); // 6000 to match door.js(const DELAY)
|
||||
}, 250);
|
||||
}
|
||||
|
||||
function error(){
|
||||
reset();
|
||||
$("#error").removeClass("dn");
|
||||
setTimeout(function(){ reset(); }, 5000);
|
||||
setTimeout(function(){
|
||||
$("#error").removeClass("dn");
|
||||
setTimeout(function(){ reset(); }, 6000); // 6000 to match door.js(const DELAY)
|
||||
}, 250);
|
||||
}
|
|
@ -26,7 +26,7 @@ module.exports = (req, res) => {
|
|||
function reponse(req,res,path,success,name=null) {
|
||||
console.log(req.get('accept'));
|
||||
if(/application\/json/.test(req.get('accept'))) {
|
||||
res.json({"success":success, "path":path})
|
||||
res.json({"success":success, "path":path, "name":name})
|
||||
} else {
|
||||
res.redirect(path)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user