/** * @file plugins/themes/default/js/main.js * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2000-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @brief Handle JavaScript functionality unique to this theme. */ (function($) { // Initialize dropdown navigation menus on large screens // See bootstrap dropdowns: https://getbootstrap.com/docs/4.0/components/dropdowns/ if (typeof $.fn.dropdown !== 'undefined') { var $nav = $('#navigationPrimary, #navigationUser'), $submenus = $('ul', $nav); function toggleDropdowns() { if (window.innerWidth > 992) { $submenus.each(function(i) { var id = 'pkpDropdown' + i; $(this) .addClass('dropdown-menu') .attr('aria-labelledby', id); $(this).siblings('a') .attr('data-toggle', 'dropdown') .attr('aria-haspopup', true) .attr('aria-expanded', false) .attr('id', id) .attr('href', '#'); }); $('[data-toggle="dropdown"]').dropdown(); } else { $('[data-toggle="dropdown"]').dropdown('dispose'); $submenus.each(function(i) { $(this) .removeClass('dropdown-menu') .removeAttr('aria-labelledby'); $(this).siblings('a') .removeAttr('data-toggle') .removeAttr('aria-haspopup') .removeAttr('aria-expanded',) .removeAttr('id') .attr('href', '#'); }); } } window.onresize = toggleDropdowns; $().ready(function() { toggleDropdowns(); }); } // Toggle nav menu on small screens $('.pkp_site_nav_toggle').click(function(e) { $('.pkp_site_nav_menu').toggleClass('pkp_site_nav_menu--isOpen'); $('.pkp_site_nav_toggle').toggleClass('pkp_site_nav_toggle--transform'); }); // Modify the Chart.js display options used by UsageStats plugin document.addEventListener('usageStatsChartOptions.pkp', function(e) { e.chartOptions.elements.line.backgroundColor = 'rgba(0, 122, 178, 0.6)'; e.chartOptions.elements.rectangle.backgroundColor = 'rgba(0, 122, 178, 0.6)'; }); // Toggle display of consent checkboxes in site-wide registration var $contextOptinGroup = $('#contextOptinGroup'); if ($contextOptinGroup.length) { var $roles = $contextOptinGroup.find('.roles :checkbox'); $roles.change(function() { var $thisRoles = $(this).closest('.roles'); if ($thisRoles.find(':checked').length) { $thisRoles.siblings('.context_privacy').addClass('context_privacy_visible'); } else { $thisRoles.siblings('.context_privacy').removeClass('context_privacy_visible'); } }); } // Show or hide the reviewer interests field on the registration form // when a user has opted to register as a reviewer. function reviewerInterestsToggle() { var is_checked = false; $('#reviewerOptinGroup').find('input').each(function() { if ($(this).is(':checked')) { is_checked = true; return false; } }); if (is_checked) { $('#reviewerInterests').addClass('is_visible'); } else { $('#reviewerInterests').removeClass('is_visible'); } } reviewerInterestsToggle(); $('#reviewerOptinGroup input').on('click', reviewerInterestsToggle); })(jQuery);