$(function(){ ls.initTwoFactorService = function(hoe, callback){ if (ls.TwoFactorService !== undefined){ ls.TwoFactorService.initModel(hoe, callback); } else { ls.TwoFactorService = { hoe : ko.observable(), tempHoe : ko.observable(), callback : ko.observable(), deCode : ko.observable(''), infoTeksten : ['Open de Google authenticator op uw telefoon en voer de code in.', 'Kijk in uw e-mail voor de code.',], infoTekst : ko.observable(), optieTekst : ko.observable(''), optieBG : ko.observable('#30ACF0'), kanKlik : ko.observable(false), codeNogmaals: ko.observable(), initBindings :function(hoe, callback){ var self = ls.TwoFactorService; // if (!ko.dataFor(document.getElementById('pagNaam')) ) { ko.applyBindings(ls.TwoFactorService, document.getElementById("twoFactorDialog")); // } self.initModel(hoe, callback); }, initModel: function(hoe, callback){ let vm = ls.TwoFactorService vm.deCode('') vm.optieBG('#30ACF0') vm.hoe(hoe) vm.tempHoe(hoe) vm.callback(callback) vm.codeNogmaals('') if (hoe =="GOOGLE") { vm.infoTekst(vm.infoTeksten[0]) vm.optieTekst('Wilt u eenmalig een code per mail ontvangen? Klik dan hier.'); vm.kanKlik(true) } else { vm.infoTekst(vm.infoTeksten[1]) vm.optieTekst(''); vm.kanKlik(false) } let dialog = document.getElementById( "twoFactorDialog" ) dialog.showModal() }, fCheckCode: function(){ let vm = ls.TwoFactorService if (vm.deCode().length ==6) { vm.kanKlik(false) let optieOud = vm.optieTekst() vm.optieTekst('Even geduld, de code wordt gecontroleerd.') let sd ={code: vm.deCode(), hoe : vm.tempHoe() } $.post('index.php/Login/checkTwoFactor', sd, function(result){ if (result) { vm.infoTekst(''); vm.optieTekst(result) vm.optieBG('#FF2D55'); vm.deCode('') vm.codeNogmaals("Stuur nogmaals een code per e-mail? Klik hier."); } else { vm.fClose() } },'json') } }, fSendPerEmail: function(){ let vm = ls.TwoFactorService vm.optieTekst("Een moment geduld aub"); vm.codeNogmaals('') vm.kanKlik(false) $.post( 'index.php/Login/mailCodeOnce', function (error) { if (error) { let dialog = document.getElementById( "twoFactorDialog" ) dialog.close() apprise(error) } else { vm.infoTekst("Er is een e-mail met inlogcode verstuurd.
Het kan tot een minuut duren voor u deze ontvangt.") vm.optieTekst("Verstuur nogmaals een inlogcode? Klik hier.") vm.kanKlik(true) vm.tempHoe("EMAIL") } } ,'json'); }, fClose: function(){ let vm = ls.TwoFactorService if (typeof vm.callback() == 'function') { vm.callback()() } let dialog = document.getElementById( "twoFactorDialog" ) dialog.close() } } ; // definition van model ls.TwoFactorService.initBindings(hoe, callback); }; // else }// function initTwoFactorService });