control.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. $.ajax({
  11. url: $("#QRCodeRead").val(),
  12. dataType: "json",
  13. encode: true,
  14. }).done(function (data) {
  15. $('#ResultQRCode').remove();
  16. $("#confirmationModal").append(getConfirmModal(data));
  17. $('#ResultQRCode').modal("show");
  18. if (data["result"] == true) {
  19. $('#ResultQRCode').on('hidden.bs.modal', function () {
  20. //getEvements();
  21. });
  22. }
  23. }).fail(function (xhr, status, error) {
  24. retour = Array;
  25. retour["result"] = false;
  26. retour["description"] = "Le QR-Code n'est pas valide";
  27. retour["salarie"] = null;
  28. retour["evenement"] = null;
  29. $('#ResultQRCode').remove();
  30. $("#confirmationModal").append(getConfirmModal(retour));
  31. $('#ResultQRCode').modal("show");
  32. });
  33. $("#QRCodeRead").removeAttr('value');
  34. } else {
  35. $("#divOffline").empty();
  36. $("#divOffline").append('<div class="alert alert-warning alertLogin" role="alert">Vous n\'êtes pas connecté à internet</div>');
  37. $("#divOffline").show();
  38. window.setTimeout(function () {
  39. $("#divOffline").fadeTo(600, 0).slideUp(600, function () {
  40. $(this).hide();
  41. $(this).css('opacity', '1');
  42. });
  43. }, 1000);
  44. }
  45. }
  46. $(document).ready(function () {
  47. // Sélectionnez le nœud à observer
  48. const targetNode = document.getElementById("QRCodeRead");
  49. // Vérifiez si l'élément existe avant de continuer
  50. if (!targetNode) {
  51. console.error("L'élément #QRCodeRead n'existe pas.");
  52. return;
  53. }
  54. // Options pour l'observateur (quelles mutations observer)
  55. const config = { attributes: true, attributeFilter: ['value'] };
  56. // Fonction de rappel à exécuter lorsque des mutations sont observées
  57. const callback = (mutationList, observer) => {
  58. mutationList.forEach(mutation => {
  59. if (mutation.type === "attributes" && mutation.attributeName === "value") {
  60. const value = $("#QRCodeRead").val();
  61. console.log("Modification détectée : ", value);
  62. if (value !== null && value !== '') {
  63. checkEmagementControl();
  64. }
  65. }
  66. });
  67. };
  68. // Créez une instance d'observateur liée à la fonction de rappel
  69. const observer = new MutationObserver(callback);
  70. // Commencez à observer le nœud cible pour les mutations configurées
  71. observer.observe(targetNode, config);
  72. console.log("Observation des changements sur #QRCodeRead activée.");
  73. });