first commit
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
/**
|
||||
* @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);
|
||||
Reference in New Issue
Block a user