PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.5.1
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.5.1
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.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
80 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 console.log(`Initializing toggle: ${toggleId}`);
10
11 toggle.addEventListener('click', async function(event) {
12 const isEnabled = this.checked;
13 const badgeId = toggleId === 'cookiebot-banner-enabled' ? 'cookiebot-banner-badge' : `${toggleId}-badge`;
14 const badge = document.getElementById(badgeId);
15 if (!badge) {
16 console.error(`Badge element not found: ${badgeId}`);
17 }
18
19 console.log(`Toggle ${toggleId} clicked. New state:`, isEnabled);
20
21 try {
22 const response = await $.ajax({
23 url: cookiebot_account.ajax_url,
24 method: 'POST',
25 data: {
26 action: action,
27 nonce: cookiebot_account.nonce,
28 value: isEnabled ? value : '0'
29 }
30 });
31
32 console.log(`Toggle ${toggleId} response:`, response);
33
34 if (!response.success) {
35 throw new Error(response.data || `Failed to update ${toggleId} status`);
36 }
37
38 // Update badge status
39 if (badge) {
40 badge.className = `label-wrapper status-badge ${isEnabled ? 'active' : 'inactive'}`;
41 badge.querySelector('.label-2').textContent = isEnabled ? 'Active' : 'Inactive';
42 console.log(`Updated badge for ${toggleId}. New state:`, isEnabled ? 'active' : 'inactive');
43 }
44
45 if (cookiebot_account.debug) {
46 console.log(`${toggleId} toggle response:`, response);
47 }
48 } catch (error) {
49 console.error(`Failed to toggle ${toggleId}:`, error);
50 this.checked = !isEnabled;
51 // Revert badge status on error
52 if (badge) {
53 badge.className = `label-wrapper status-badge ${!isEnabled ? 'active' : 'inactive'}`;
54 badge.querySelector('.label-2').textContent = !isEnabled ? 'Active' : 'Inactive';
55 console.log(`Reverted badge for ${toggleId}. State:`, !isEnabled ? 'active' : 'inactive');
56 }
57 }
58 });
59 }
60
61 // Initialize toggles
62 console.log('Initializing toggles...');
63 handleToggle('cookiebot-banner-enabled', 'cookiebot_set_banner_enabled', '1');
64 handleToggle('cookiebot-gcm', 'cookiebot_set_gcm_enabled', '1');
65
66 // Handle expand/collapse
67 const expandToggle = document.querySelector('.expand-toggle');
68 if (expandToggle) {
69 expandToggle.addEventListener('click', function() {
70 const expanded = this.getAttribute('aria-expanded') === 'true';
71 const targetId = this.getAttribute('aria-controls');
72 const targetSection = document.getElementById(targetId);
73 const arrowIcon = this.querySelector('.arrow-icon');
74
75 this.setAttribute('aria-expanded', !expanded);
76 targetSection.style.display = expanded ? 'none' : 'block';
77 arrowIcon.style.transform = expanded ? 'rotate(0deg)' : 'rotate(180deg)';
78 });
79 }
80 });