Преглед на файлове

Allow global and per service default state. Open the alert only on 'wait' state. Fixes AmauriC/tarteaucitron.js#858.

Laurent Dinclaux преди 3 години
родител
ревизия
5fbf77581d
променени са 1 файла, в които са добавени 8 реда и са изтрити 4 реда
  1. 8 4
      tarteaucitron.js

+ 8 - 4
tarteaucitron.js

@@ -221,7 +221,8 @@ var tarteaucitron = {
                 "useExternalJs": false,
                 "useExternalJs": false,
                 "mandatory": true,
                 "mandatory": true,
                 "closePopup": false,
                 "closePopup": false,
-                "groupServices": false
+                "groupServices": false,
+                "serviceDefaultState": 'wait',
             },
             },
             params = tarteaucitron.parameters;
             params = tarteaucitron.parameters;
 
 
@@ -865,12 +866,15 @@ var tarteaucitron = {
             tarteaucitron.state[service.key] = false;
             tarteaucitron.state[service.key] = false;
             tarteaucitron.userInterface.color(service.key, false);
             tarteaucitron.userInterface.color(service.key, false);
         } else if (!isResponded) {
         } else if (!isResponded) {
-            tarteaucitron.cookie.create(service.key, 'wait');
+            tarteaucitron.cookie.create(service.key, service.defaultState || tarteaucitron.parameters.serviceDefaultState);
             if (typeof service.fallback === 'function') {
             if (typeof service.fallback === 'function') {
                 if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + service.key + "_") < 0) { service.fallback(); }
                 if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + service.key + "_") < 0) { service.fallback(); }
             }
             }
-            tarteaucitron.userInterface.color(service.key, 'wait');
-            tarteaucitron.userInterface.openAlert();
+            tarteaucitron.userInterface.color(service.key, service.defaultState || tarteaucitron.parameters.serviceDefaultState);
+
+            if( 'wait' === (service.defaultState || tarteaucitron.parameters.serviceDefaultState) ) {
+                tarteaucitron.userInterface.openAlert();
+            }
         }
         }
 
 
         tarteaucitron.cookie.checkCount(service.key);
         tarteaucitron.cookie.checkCount(service.key);