etracker-8.x-3.x-dev/js/etracker.admin.js
js/etracker.admin.js
/** * @file * eTracker admin behaviors. */ (function ($) { /** * Provide the summary information for the tracking settings vertical tabs. */ Drupal.behaviors.trackingSettingsSummary = { attach() { // Make sure this behavior is processed only if drupalSetSummary is defined. if (typeof jQuery.fn.drupalSetSummary === 'undefined') { return; } $('#edit-pages').drupalSetSummary(function (context) { const selector = 'input[name="etracker_track_path_mode"]:checked'; const $radio = context.querySelector(selector); if ($radio.value === 'all_pages') { if ( !context.querySelector('textarea[name="etracker_track_paths"]') .value ) { return Drupal.t('Not restricted'); } return Drupal.t('All pages with exceptions'); } return Drupal.t('Restricted to certain pages'); }); $('#edit-roles').drupalSetSummary(function (context) { const vals = []; context .querySelectorAll('input[type="checkbox"]:checked') .forEach(function (node) { vals.push(node.labels[0].textContent.trim()); }); if (!vals.length) { return Drupal.t('Not restricted'); } const selector = 'input[name="etracker_track_roles_mode"]:checked'; if (context.querySelector(selector).value === 'all_roles') { return Drupal.t('Excepted: @roles', { '@roles': vals.join(', ') }); } return vals.join(', '); }); $('#edit-users').drupalSetSummary(function (context) { const selector = 'input[name="etracker_track_user"]:checked'; const $radio = context.querySelector(selector); if ($radio.value === 'no_customization') { return Drupal.t('Not customizable'); } if ($radio.value === 'tracking_on') { return Drupal.t('On by default with opt out'); } return Drupal.t('Off by default with opt in'); }); $('#edit-breadcrumb').drupalSetSummary(function (context) { let $radio = ''; const selector = 'input#edit-etracker-mode-breadcrumb-as-area-breadcrumb-on:checked'; if (context.querySelector(selector)) { $radio = Drupal.t('Show area hierarchy'); } const selectorExcludeHome = 'input#edit-etracker-mode-breadcrumb-as-area-breadcrumb-exclude-home:checked'; if (context.querySelector(selectorExcludeHome)) { $radio = Drupal.t('Hide home page'); } if (!$radio) { return Drupal.t('Not tracked'); } return Drupal.t('@items enabled', { '@items': $radio }); }); $('#edit-linktracking').drupalSetSummary(function (context) { const vals = []; if (context.querySelector('input#edit-track-mailto:checked')) { vals.push(Drupal.t('Mailto links')); } if (context.querySelector('input#edit-track-external:checked')) { vals.push(Drupal.t('Outbound links')); } if (context.querySelector('input#edit-track-download:checked')) { vals.push(Drupal.t('Downloads')); } if (!vals.length) { return Drupal.t('Not tracked'); } return Drupal.t('@items enabled', { '@items': vals.join(', ') }); }); $('#edit-messagetracking').drupalSetSummary(function (context) { const vals = []; context .querySelectorAll('input[type="checkbox"]:checked') .forEach(function (node) { vals.push(node.labels[0].textContent.trim()); }); if (!vals.length) { return Drupal.t('Not tracked'); } return Drupal.t('@items enabled', { '@items': vals.join(', ') }); }); $('#edit-privacy').drupalSetSummary(function (context) { const vals = []; if (context.querySelector('input#edit-data-respect-dnt:checked')) { vals.push(Drupal.t('Universal web tracking opt-out enabled')); } if (context.querySelector('input#edit-data-block-cookies:checked')) { vals.push(Drupal.t('Cookies disabled')); } if (!vals.length) { return Drupal.t('No privacy'); } return Drupal.t('@items', { '@items': vals.join(', ') }); }); }, }; })(jQuery);