Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 48 additions & 11 deletions assets/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ $(document).ready(function () {
// Mutation observer - watch for RTL
////////////////////////////////////////

var target = document.querySelector('html');
const target = document.querySelector('html');

var observer = new MutationObserver( function(mutations) {
const observer = new MutationObserver( function(mutations) {
mutations.forEach( function() {
var classes = target.getAttribute('class');
var single_class = 'translated-rtl';
Expand All @@ -18,7 +18,7 @@ $(document).ready(function () {
});
});

var config = {
const config = {
attributes: true,
attributeFilter: ['class']
}
Expand Down Expand Up @@ -60,11 +60,48 @@ $(document).ready(function () {
document.getElementById('global-search-bar').blur();
});

////////////////////////////////////////
// Email Subscription Modal
////////////////////////////////////////

const subscribe_modal = $('#subscribeModal');

if ( subscribe_modal.length ) {

subscribe_modal.on('show.bs.modal', function () {
const subscribe_form = $(this);
const subscribe_modal_body = subscribe_form.find('.modal-body');
const subscribe_placeholder = subscribe_modal_body.find('.subscribe-form-placeholder');
const subscribe_form_url = subscribe_form.data('subscribe-form-url');

if ( !subscribe_form_url || subscribe_modal_body.find('.subscribe-form-frame').length ) {
return;
}

const subscribe_iframe = $('<iframe>', {
'class': 'subscribe-form-frame',
src: subscribe_form_url,
width: '100%',
height: '100%',
frameborder: '0',
loading: 'lazy',
title: 'Subscription form'
}).css('display', 'none');

subscribe_iframe.on('load', function () {
subscribe_placeholder.addClass('d-none');
$(this).css('display', 'block');
});

subscribe_modal_body.append(subscribe_iframe);
});
}

////////////////////////////////////////
// Back to top
////////////////////////////////////////

var scroll_speed = 800;
const scroll_speed = 800;

if( $('#back-to-top').length ){

Expand All @@ -76,8 +113,8 @@ $(document).ready(function () {

$(window).scroll(function() {

var window_scroll = $(document).scrollTop();
var primary_content = $('#primary-content').offset().top;
const window_scroll = $(document).scrollTop();
const primary_content = $('#primary-content').offset().top;

if ( window_scroll > primary_content ) {
$('#back-to-top').addClass('show');
Expand All @@ -96,23 +133,23 @@ $(document).ready(function () {

$('.lang-select').click(function (e) {
e.preventDefault();
var lang = $(this).attr('data-lang')
const lang = $(this).attr('data-lang')
setLanguage(lang);
});

function setLanguage(theLang) {
var theSelect = $('.goog-te-combo');
var db = theSelect.get(0);
const theSelect = $('.goog-te-combo');
const db = theSelect.get(0);
theSelect.val(theLang);
fireEvent(db, 'change');
}

function fireEvent(element, event) {
if (document.createEventObject) {
var evt = document.createEventObject();
const evt = document.createEventObject();
return element.fireEvent('on' + event, evt)
} else {
var evt = document.createEvent("HTMLEvents");
const evt = document.createEvent("HTMLEvents");
// event type, bubbling, cancelable
evt.initEvent(event, false, true);
return !element.dispatchEvent(evt);
Expand Down
6 changes: 4 additions & 2 deletions themes/dohmh/layouts/partials/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -367,11 +367,13 @@
</div>
</div>

<div class="modal" tabindex="-1" role="dialog" id="subscribeModal">
<div class="modal" tabindex="-1" role="dialog" id="subscribeModal" data-subscribe-form-url="https://docs.google.com/forms/d/e/1FAIpQLSfUg3JE5ODNc6aqBPJwM8mZ80TYtK6ISw-OM7PBwKuoN3M--g/viewform">
<div class='modal-dialog modal-lg modal-dialog-centered' role='document'>
<div class='modal-content'>
<div class='modal-body' style="height:75vh;">
<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSfUg3JE5ODNc6aqBPJwM8mZ80TYtK6ISw-OM7PBwKuoN3M--g/viewform" width="100%" frameborder="no" height="100%"></iframe>
<div class='subscribe-form-placeholder d-flex align-items-center justify-content-center h-100'>
<p class='mb-0'>Loading subscription form...</p>
</div>
</div>
<hr>
<button type="button" class="btn btn-outline-primary close-dialog" data-dismiss="modal">Close</button>
Expand Down
Loading