PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.5.3
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.5.3
4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.5 3.6.6 3.7.0 3.7.1 3.8.0 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.2.0 4.2.1 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.3.10 4.3.11 4.3.12 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.8 4.3.9 4.3.9.1 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.10 4.5.11 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.7.0
cookiebot / assets / js / backend / dashboard.js
cookiebot / assets / js / backend Last commit date
gutenberg 3 years ago account-static.js 1 year ago account.js 1 year ago consent-mapping.js 1 year ago cookiebot-admin-script.js 1 year ago dashboard.js 1 year ago debug-page.js 1 year ago jquery.tipTip.js 3 years ago multiple-page.js 3 years ago network-settings-page.js 1 year ago prior-consent-settings.js 3 years ago settings-page.js 1 year ago support-page.js 3 years ago
dashboard.js
69 lines
1 jQuery(document).ready(function($) {
2 // Handle toggle functionality
3 function handleToggle(toggleId, action, value) {
4 const toggle = document.getElementById(toggleId);
5 if (!toggle) {
6 console.error(`Toggle element not found: ${toggleId}`);
7 return;
8 }
9
10 toggle.addEventListener('click', async function(event) {
11 const isEnabled = this.checked;
12 const badgeId = toggleId === 'cookiebot-banner-enabled' ? 'cookiebot-banner-badge' : `${toggleId}-badge`;
13 const badge = document.getElementById(badgeId);
14 if (!badge) {
15 console.error(`Badge element not found: ${badgeId}`);
16 }
17
18 try {
19 const response = await $.ajax({
20 url: cookiebot_account.ajax_url,
21 method: 'POST',
22 data: {
23 action: action,
24 nonce: cookiebot_account.nonce,
25 value: isEnabled ? value : '0'
26 }
27 });
28
29 if (!response.success) {
30 throw new Error(response.data || `Failed to update ${toggleId} status`);
31 }
32
33 // Update badge status
34 if (badge) {
35 badge.className = `label-wrapper status-badge ${isEnabled ? 'active' : 'inactive'}`;
36 badge.querySelector('.label-2').textContent = isEnabled ? 'Active' : 'Inactive';
37 }
38
39 } catch (error) {
40 console.error(`Failed to toggle ${toggleId}:`, error);
41 this.checked = !isEnabled;
42 // Revert badge status on error
43 if (badge) {
44 badge.className = `label-wrapper status-badge ${!isEnabled ? 'active' : 'inactive'}`;
45 badge.querySelector('.label-2').textContent = !isEnabled ? 'Active' : 'Inactive';
46 }
47 }
48 });
49 }
50
51 handleToggle('cookiebot-banner-enabled', 'cookiebot_set_banner_enabled', '1');
52 handleToggle('cookiebot-uc-auto-blocking-mode', 'cookiebot_set_auto_blocking_mode', '1');
53 handleToggle('cookiebot-gcm', 'cookiebot_set_gcm_enabled', '1');
54
55 // Handle expand/collapse
56 const expandToggle = document.querySelector('.expand-toggle');
57 if (expandToggle) {
58 expandToggle.addEventListener('click', function() {
59 const expanded = this.getAttribute('aria-expanded') === 'true';
60 const targetId = this.getAttribute('aria-controls');
61 const targetSection = document.getElementById(targetId);
62 const arrowIcon = this.querySelector('.arrow-icon');
63
64 this.setAttribute('aria-expanded', !expanded);
65 targetSection.style.display = expanded ? 'none' : 'block';
66 arrowIcon.style.transform = expanded ? 'rotate(0deg)' : 'rotate(180deg)';
67 });
68 }
69 });