From c6e19d73b5c570865ebc899ab2c5d3ba119af98c Mon Sep 17 00:00:00 2001 From: Jason Benedetti Date: Fri, 23 Aug 2019 10:44:05 +0200 Subject: [PATCH] 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. --- tarteaucitron.js | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/tarteaucitron.js b/tarteaucitron.js index 8814af2..07135ff 100644 --- a/tarteaucitron.js +++ b/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