PageSourceSearch

https://www.ubparis.com/html/override/widget/contact/ui.js?q=1779286298

js ubparis.com collected 2026-10-06 11:25:26 UTC 3,467 bytes, 106 lines download raw bytes

1var initWidgetContact = (function() {
2  if (typeof AjaxForm != 'function') { 
3    lazy.loadScript('https://tools.agencewebcom.com/dev/form/js/ajax-form.vanilla.js?v=1.19', 0, contactForm)
4  }else{
5    contactForm()
6  }
7})
8  
9var contactForm = function() {
10  const form = document.getElementById('widget-contact-form')
11  const container = form.querySelector('form')
12  const toolbar = form.querySelector('.toolbar')
13  const btnRgpd = form.querySelector('.form-gpdr-btn')
14  const btnMobile = form.querySelector('.btnMobile')
15  const formGpdr = form.querySelector('.form-gpdr')
16
17  const labelBtnRgpd = btnRgpd.textContent;
18  const labelCloseBtnRgpd =  btnRgpd.dataset.labelClose
19  const labelMobile =  btnMobile.innerHTML
20  const labelcloseMobile =  btnMobile.dataset.labelClose
21
22  var loadRecaptcha = false;
23  
24  toolbar.addEventListener('click', function(event){
25
26    if(!loadRecaptcha){
27      var formClass = new AjaxForm({site_key: form.dataset.recaptcha});
28      formClass.addForm({ id: 'widget-contact-form', loader: '<div class="loader-simple"></div>', captcha_id: 'recaptcha-widget-contact' });
29      loadRecaptcha = true;
30    }
31
32
33    if (!form.classList.contains('active')) {
34      form.classList.add('active', 'py-4', 'px-4', 'right-0', 'bottom-0');
35      form.classList.remove('w-min', 'rounded-full', 'right-4', 'bottom-4');
36      container.style.height = 'auto';
37      container.style.width = 'auto';
38      var height = container.clientHeight + "px"
39      var width = container.clientWidth + "px"
40      btnMobile.innerHTML = labelcloseMobile
41
42      container.style.height = '0px';
43      container.style.width = '0px';
44
45      setTimeout(function () {
46        container.style.height = height;
47        container.style.width = width;
48      }, 100);
49
50     
51
52    }else {
53      form.classList.remove('active', 'py-4', 'px-4', 'right-0', 'bottom-0');
54      form.classList.add('w-min', 'rounded-full', 'right-4', 'bottom-4');
55      var height = container.clientHeight + "px"
56      container.style.height = height;
57      container.style.width = width;
58
59      setTimeout(function () {
60        container.style.transform = "0px";
61        container.style.height = '0px';
62        container.style.width = '0px';
63      }, 100);
64      
65      btnMobile.innerHTML = labelMobile
66    }
67
68  }, {passive: true});
69
70  container.addEventListener('transitionend', function(event){
71    if (form.classList.contains('active')) {
72      container.style.height = 'auto';
73      container.style.width = 'auto';
74    }
75  }, {passive: true});
76
77  btnRgpd.addEventListener('click', function(event){
78    event.stopImmediatePropagation();
79    if (!formGpdr.classList.contains('active')) {
80      formGpdr.classList.add('active');
81      formGpdr.classList.remove('opacity-0');
82      formGpdr.style.height = 'auto';
83      btnRgpd.textContent = labelCloseBtnRgpd;
84      var height = formGpdr.clientHeight + 'px';
85
86      formGpdr.style.height = '0px';
87
88      setTimeout(function () {
89        formGpdr.style.height = height;
90      }, 0);
91      
92    } else {
93      formGpdr.style.height = '0px';
94
95      formGpdr.addEventListener('transitionend', function () {
96        formGpdr.classList.remove('active');
97        formGpdr.classList.add('opacity-0');
98        btnRgpd.textContent = labelBtnRgpd;
99      }, {
100        once: true,
101        passive: true
102      });
103    }
104    return false
105  }, {passive: true});
106}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.