// FUNCTIONS ABOUT CAPTURING SHIT var fetchReturn = false ; const sleep = (milliseconds) => { return new Promise(resolve => setTimeout(resolve, milliseconds)) } async function processCapture(capture){ if(IsValidJSONString(capture)){ var jsonScanReturn = false ; fetchObjectFromQrcode(capture); } else { console.log('no json sigh'); } } function displayScanResultModal(scanResult){ if(scanResult['objectType']){ if(scanResult['objectType'] == "PRODUCT"){ $('#scan_sku').html(scanResult['sku']) ; $('#scan_image').attr('src',scanResult['main_product_image_url']) ; $('#scan_title').html(scanResult['public_name']) ; $('#scan_qty').html(scanResult['stock_reel']) ; $('#scan_product_url').attr('href',"../product/"+scanResult['sku']) ; $('#modal1').modal('open') ; M.toast({html: 'Scan Complet' , classes: ' green lgihten-2 white-text' , displayLength:1000}); } else { alert("Object Type doens't match with know objects") ; } } else { alert('Object Type not found') ; } return true ; } function IsValidJSONString(str) { try { JSON.parse(str); } catch (e) { return false; } return true; } // while (keepit = true ) { // await sleep(2000); // console.log(jsonScanReturn) ; // } // if(!jsonScanReturn){ // console.log("Ajax Scan didn't work ") ; // }else{ // console.log("json went well, ajax went well") ; // if(jsonScanReturn=="KO"){ // console.log('Ajax scan got nothing') ; // } else { // console.log('Ajax scan got something'); // console.log(jsonScanReturn['objectType']); // var displayReturn = false; // switch(jsonScanReturn['objectType']){ // case "PRODUCT" : { // displayReturn = displayScanResultModal(jsonScanReturn,'ORDER'); // } // case "ORDER" : { // displayReturn = displayScanResultModal(jsonScanReturn,'ORDER'); // break ; // } // default:{ // break; // } // } // if( !displayReturn){ // M.toast({html: 'ERREUR DE REQUETTE, veuillez contacter votre administrateur.', classes: ' red lighten-2 white-text'}); // } // } // } function fetchObjectFromQrcode(qrCodeMessage){ var action_url = AJAXPATH +"/scannermessage" ; $.ajax({ url: action_url, type : 'POST', data : "message=" + qrCodeMessage, dataType:"json", success: function(result){ if(result['error'] == true ){ M.toast({html: 'ERROR' + result['error'] + ' : ' + result['errorMessage'] + ' / ' , classes: ' grey lighten-2 white-text'}); console.log('Ajax scan got nothing') ; } else { if(result['objectType']){ displayScanResultModal(result); } else { M.toast({html: 'Erreur', classes: ' red lighten-2 white-text'}); } } console.log(fetchReturn); } }).fail(function(){ M.toast({html: 'ERREUR DE REQUETTE, veuillez contacter votre administrateur.', classes: ' red lighten-2 white-text'}); }); }