2
0

control.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. $(document).ready(function () {
  2. showDate('showDate');
  3. $(".qrcodeReader").qrCodeReader();
  4. });
  5. $("#qrr-close").on("click", function () {
  6. $("#form-event").val("");
  7. });
  8. function checkEmagementControl() {
  9. if (checkconnection()) {
  10. const currentUrl = window.location;
  11. const targetUrl = new URL($("#QRCodeRead").val());
  12. // Vérifiez si les deux URLs sont du même domaine
  13. if (currentUrl.protocol === targetUrl.protocol &&
  14. currentUrl.hostname === targetUrl.hostname &&
  15. currentUrl.port === targetUrl.port) {
  16. // Redirigez vers l'URL cible
  17. window.location.replace(targetUrl.href);
  18. } else {
  19. retour = Array;
  20. retour["result"] = false;
  21. retour["description"] = "Le QR-Code n'est pas valide";
  22. retour["salarie"] = null;
  23. retour["evenement"] = null;
  24. $('#ResultQRCode').remove();
  25. $("#confirmationModal").append(getConfirmModal(retour));
  26. $('#ResultQRCode').modal("show");
  27. }
  28. } else {
  29. $("#divOffline").empty();
  30. $("#divOffline").append('<div class="alert alert-warning" role="alert">Vous n\'êtes pas connecté à internet</div>');
  31. $("#divOffline").show();
  32. }
  33. }
  34. $(document).ready(function () {
  35. // Sélectionnez le nœud à observer
  36. const targetNode = document.getElementById("QRCodeRead");
  37. // Vérifiez si l'élément existe avant de continuer
  38. if (!targetNode) {
  39. console.error("L'élément #QRCodeRead n'existe pas.");
  40. return;
  41. }
  42. // Options pour l'observateur (quelles mutations observer)
  43. const config = { attributes: true, attributeFilter: ['value'] };
  44. // Fonction de rappel à exécuter lorsque des mutations sont observées
  45. const callback = (mutationList, observer) => {
  46. mutationList.forEach(mutation => {
  47. if (mutation.type === "attributes" && mutation.attributeName === "value") {
  48. const value = $("#QRCodeRead").val();
  49. console.log("Modification détectée : ", value);
  50. if (value !== null && value !== '') {
  51. checkEmagementControl();
  52. }
  53. }
  54. });
  55. };
  56. // Créez une instance d'observateur liée à la fonction de rappel
  57. const observer = new MutationObserver(callback);
  58. // Commencez à observer le nœud cible pour les mutations configurées
  59. observer.observe(targetNode, config);
  60. console.log("Observation des changements sur #QRCodeRead activée.");
  61. });