Pārlūkot izejas kodu

Increase the ask area capability to be extended

- Encapsulate the main ask area buttons into a current state class (same comportment that the existing one on each service line).
- Add simpler methods to add/remove classes on user interface on the same way that the existing "css" method.
Jason Benedetti 5 gadi atpakaļ
vecāks
revīzija
c6e19d73b5
1 mainītis faili ar 27 papildinājumiem un 6 dzēšanām
  1. 27 6
      tarteaucitron.js

+ 27 - 6
tarteaucitron.js

@@ -641,6 +641,18 @@ var tarteaucitron = {
                 document.getElementById(id).style[property] = value;
             }
         },
+        "addClass": function (id, className) {
+            "use strict";
+            if (document.getElementById(id) !== null) {
+                document.getElementById(id).classList.add(className);
+            }
+        },
+        "removeClass": function (id, className) {
+            "use strict";
+            if (document.getElementById(id) !== null) {
+                document.getElementById(id).classList.remove(className);
+            }
+        },
         "respondAll": function (status) {
             "use strict";
             var s = tarteaucitron.services,
@@ -728,14 +740,23 @@ var tarteaucitron = {
             tarteaucitron.userInterface.css(c + 'DotRed', 'width', ((100 / sum) * nbDenied) + '%');
 
             if (nbDenied === 0 && nbPending === 0) {
-                document.getElementById(c + 'AllDenied').classList.remove('tarteaucitronIsSelected');
-                document.getElementById(c + 'AllAllowed').classList.add('tarteaucitronIsSelected');
+                tarteaucitron.userInterface.removeClass(c + 'AllDenied', c + 'IsSelected');
+                tarteaucitron.userInterface.addClass(c + 'AllAllowed', c + 'IsSelected');
+
+                tarteaucitron.userInterface.addClass(c + 'MainLineOffset', c + 'IsAllowed');
+                tarteaucitron.userInterface.removeClass(c + 'MainLineOffset', c + 'IsDenied');
             } else if (nbAllowed === 0 && nbPending === 0) {
-                document.getElementById(c + 'AllAllowed').classList.remove('tarteaucitronIsSelected');
-                document.getElementById(c + 'AllDenied').classList.add('tarteaucitronIsSelected');
+                tarteaucitron.userInterface.removeClass(c + 'AllAllowed', c + 'IsSelected');
+                tarteaucitron.userInterface.addClass(c + 'AllDenied', c + 'IsSelected');
+
+                tarteaucitron.userInterface.removeClass(c + 'MainLineOffset', c + 'IsAllowed');
+                tarteaucitron.userInterface.addClass(c + 'MainLineOffset', c + 'IsDenied');
             } else {
-                document.getElementById(c + 'AllDenied').classList.remove('tarteaucitronIsSelected');
-                document.getElementById(c + 'AllAllowed').classList.remove('tarteaucitronIsSelected');
+                tarteaucitron.userInterface.removeClass(c + 'AllAllowed', c + 'IsSelected');
+                tarteaucitron.userInterface.removeClass(c + 'AllDenied', c + 'IsSelected');
+
+                tarteaucitron.userInterface.removeClass(c + 'MainLineOffset', c + 'IsAllowed');
+                tarteaucitron.userInterface.removeClass(c + 'MainLineOffset', c + 'IsDenied');
             }
 
             // close the alert if all service have been reviewed