Loading js/eu_cookie_compliance.js +43 −0 Changes for js/eu_cookie_compliance.js: 43 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -22,6 +22,48 @@ Drupal.behaviors.euCookieCompliancePopup = { attach: function (context) { if (typeof drupalSettings.eu_cookie_compliance !== 'undefined') { if (typeof $('body').once !== 'undefined') { $(drupalSettings.eu_cookie_compliance.containing_element).once('eu-cookie-compliance').each(function (element) { // Initialize internal variables. _euccCurrentStatus = self.getCurrentStatus(); _euccSelectedCategories = self.getAcceptedCategories(); // If configured, check JSON callback to determine if in EU. if (drupalSettings.eu_cookie_compliance.popup_eu_only_js) { if (Drupal.eu_cookie_compliance.showBanner()) { var url = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix + 'eu-cookie-compliance-check'; var data = {}; $.getJSON(url, data, function (data) { // If in the EU, show the compliance banner. if (data.in_eu) { Drupal.eu_cookie_compliance.execute(); } // If not in EU, set an agreed cookie automatically. else { Drupal.eu_cookie_compliance.setStatus(cookieValueAgreed); // Set the geoip_match to false so it can be used elsewhere. drupalSettings.eu_cookie_compliance.geoip_match = false; // Also set all the categories as agreed if applicable, and load // scripts. if (drupalSettings.eu_cookie_compliance.method === 'categories') { var categories = drupalSettings.eu_cookie_compliance.cookie_categories; Drupal.eu_cookie_compliance.setAcceptedCategories(categories); Drupal.eu_cookie_compliance.loadCategoryScripts(categories); } } }); } } // Otherwise, fallback to standard behavior which is to render the banner. else if (!drupalSettings.eu_cookie_compliance.hide_the_banner) { Drupal.eu_cookie_compliance.execute(); } $(element).addClass('eu-cookie-compliance-status-' + Drupal.eu_cookie_compliance.getCurrentStatus()); }); } else { const elements = once('eu-cookie-compliance', drupalSettings.eu_cookie_compliance.containing_element, context); elements.forEach(function (element) { Loading Loading @@ -63,6 +105,7 @@ $(element).addClass('eu-cookie-compliance-status-' + Drupal.eu_cookie_compliance.getCurrentStatus()); }); } } }, }; Loading Loading
js/eu_cookie_compliance.js +43 −0 Changes for js/eu_cookie_compliance.js: 43 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -22,6 +22,48 @@ Drupal.behaviors.euCookieCompliancePopup = { attach: function (context) { if (typeof drupalSettings.eu_cookie_compliance !== 'undefined') { if (typeof $('body').once !== 'undefined') { $(drupalSettings.eu_cookie_compliance.containing_element).once('eu-cookie-compliance').each(function (element) { // Initialize internal variables. _euccCurrentStatus = self.getCurrentStatus(); _euccSelectedCategories = self.getAcceptedCategories(); // If configured, check JSON callback to determine if in EU. if (drupalSettings.eu_cookie_compliance.popup_eu_only_js) { if (Drupal.eu_cookie_compliance.showBanner()) { var url = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix + 'eu-cookie-compliance-check'; var data = {}; $.getJSON(url, data, function (data) { // If in the EU, show the compliance banner. if (data.in_eu) { Drupal.eu_cookie_compliance.execute(); } // If not in EU, set an agreed cookie automatically. else { Drupal.eu_cookie_compliance.setStatus(cookieValueAgreed); // Set the geoip_match to false so it can be used elsewhere. drupalSettings.eu_cookie_compliance.geoip_match = false; // Also set all the categories as agreed if applicable, and load // scripts. if (drupalSettings.eu_cookie_compliance.method === 'categories') { var categories = drupalSettings.eu_cookie_compliance.cookie_categories; Drupal.eu_cookie_compliance.setAcceptedCategories(categories); Drupal.eu_cookie_compliance.loadCategoryScripts(categories); } } }); } } // Otherwise, fallback to standard behavior which is to render the banner. else if (!drupalSettings.eu_cookie_compliance.hide_the_banner) { Drupal.eu_cookie_compliance.execute(); } $(element).addClass('eu-cookie-compliance-status-' + Drupal.eu_cookie_compliance.getCurrentStatus()); }); } else { const elements = once('eu-cookie-compliance', drupalSettings.eu_cookie_compliance.containing_element, context); elements.forEach(function (element) { Loading Loading @@ -63,6 +105,7 @@ $(element).addClass('eu-cookie-compliance-status-' + Drupal.eu_cookie_compliance.getCurrentStatus()); }); } } }, }; Loading