소스 검색

Dispatch JS events at crucial display steps

FR : Ajout d'évènements JS à différents moments du cycle de vie de tarteaucitron. Permet d'ajouter de la logique métier personnalisée à différentes étapes.

EN : Add JS events to many moments of tarteaucitron life cycle. Allow to add personalized business logic to different steps.
Jason Benedetti 5 년 전
부모
커밋
affafafe37
1개의 변경된 파일14개의 추가작업 그리고 0개의 파일을 삭제
  1. 14 0
      tarteaucitron.js

+ 14 - 0
tarteaucitron.js

@@ -417,6 +417,9 @@ var tarteaucitron = {
                         body.appendChild(div, body);
                         div.innerHTML = html;
 
+                        var tacRootAvailableEvent = new Event("tac.root_available");
+                        window.dispatchEvent(tacRootAvailableEvent);
+
                         if (tarteaucitron.job !== undefined) {
                             tarteaucitron.job = tarteaucitron.cleanArray(tarteaucitron.job);
                             for (index = 0; index < tarteaucitron.job.length; index += 1) {
@@ -762,6 +765,9 @@ var tarteaucitron = {
             document.getElementsByTagName('body')[0].classList.add('modal-open');
             tarteaucitron.userInterface.focusTrap();
             tarteaucitron.userInterface.jsSizing('main');
+
+            var tacOpenPanelEvent = new Event("tac.open_panel");
+            window.dispatchEvent(tacOpenPanelEvent);
         },
         "closePanel": function () {
             "use strict";
@@ -787,6 +793,8 @@ var tarteaucitron = {
             //document.getElementById('contentWrapper').setAttribute("aria-hidden", "false");
             document.getElementsByTagName('body')[0].classList.remove('modal-open');
 
+            var tacClosePanelEvent = new Event("tac.close_panel");
+            window.dispatchEvent(tacClosePanelEvent);
         },
         "focusTrap": function() {
             "use strict";
@@ -834,6 +842,9 @@ var tarteaucitron = {
             tarteaucitron.userInterface.css(c + 'Percentage', 'display', 'block');
             tarteaucitron.userInterface.css(c + 'AlertSmall', 'display', 'none');
             tarteaucitron.userInterface.css(c + 'AlertBig',   'display', 'block');
+            
+            var tacOpenAlertEvent = new Event("tac.open_alert");
+            window.dispatchEvent(tacOpenAlertEvent);
         },
         "closeAlert": function () {
             "use strict";
@@ -842,6 +853,9 @@ var tarteaucitron = {
             tarteaucitron.userInterface.css(c + 'AlertSmall', 'display', 'block');
             tarteaucitron.userInterface.css(c + 'AlertBig',   'display', 'none');
             tarteaucitron.userInterface.jsSizing('box');
+            
+            var tacCloseAlertEvent = new Event("tac.close_alert");
+            window.dispatchEvent(tacCloseAlertEvent);
         },
         "toggleCookiesList": function () {
             "use strict";