/*! elementor-pro - v3.23.0 - 05-08-2024 */
"use strict";
(self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["countdown"],{
/***/ "../modules/countdown/assets/js/frontend/handlers/countdown.js":
/*!*********************************************************************!*\
!*** ../modules/countdown/assets/js/frontend/handlers/countdown.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _default = exports["default"] = elementorModules.frontend.handlers.Base.extend({
cache: null,
cacheElements() {
const $countDown = this.$element.find('.elementor-countdown-wrapper');
this.cache = {
$countDown,
timeInterval: null,
elements: {
$countdown: $countDown.find('.elementor-countdown-wrapper'),
$daysSpan: $countDown.find('.elementor-countdown-days'),
$hoursSpan: $countDown.find('.elementor-countdown-hours'),
$minutesSpan: $countDown.find('.elementor-countdown-minutes'),
$secondsSpan: $countDown.find('.elementor-countdown-seconds'),
$expireMessage: $countDown.parent().find('.elementor-countdown-expire--message')
},
data: {
id: this.$element.data('id'),
endTime: new Date($countDown.data('date') * 1000),
actions: $countDown.data('expire-actions'),
evergreenInterval: $countDown.data('evergreen-interval')
}
};
},
onInit() {
elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
this.cacheElements();
if (0 < this.cache.data.evergreenInterval) {
this.cache.data.endTime = this.getEvergreenDate();
}
this.initializeClock();
},
updateClock() {
const self = this,
timeRemaining = this.getTimeRemaining(this.cache.data.endTime);
jQuery.each(timeRemaining.parts, function (timePart) {
const $element = self.cache.elements['$' + timePart + 'Span'];
let partValue = this.toString();
if (1 === partValue.length) {
partValue = 0 + partValue;
}
if ($element.length) {
$element.text(partValue);
}
});
if (timeRemaining.total <= 0) {
clearInterval(this.cache.timeInterval);
this.runActions();
}
},
initializeClock() {
const self = this;
this.updateClock();
this.cache.timeInterval = setInterval(function () {
self.updateClock();
}, 1000);
},
runActions() {
const self = this;
// Trigger general event for 3rd patry actions
self.$element.trigger('countdown_expire', self.$element);
if (!this.cache.data.actions) {
return;
}
this.cache.data.actions.forEach(function (action) {
switch (action.type) {
case 'hide':
self.cache.$countDown.hide();
break;
case 'redirect':
if (action.redirect_url && action.redirect_url.startsWith('http')) {
window.location.href = action.redirect_url;
}
break;
case 'message':
self.cache.elements.$expireMessage.show();
break;
}
});
},
getTimeRemaining(endTime) {
const timeRemaining = endTime - new Date();
let seconds = Math.floor(timeRemaining / 1000 % 60),
minutes = Math.floor(timeRemaining / 1000 / 60 % 60),
hours = Math.floor(timeRemaining / (1000 * 60 * 60) % 24),
days = Math.floor(timeRemaining / (1000 * 60 * 60 * 24));
if (days < 0 || hours < 0 || minutes < 0) {
seconds = minutes = hours = days = 0;
}
return {
total: timeRemaining,
parts: {
days,
hours,
minutes,
seconds
}
};
},
getEvergreenDate() {
const self = this,
id = this.cache.data.id,
interval = this.cache.data.evergreenInterval,
dueDateKey = id + '-evergreen_due_date',
intervalKey = id + '-evergreen_interval',
localData = {
dueDate: localStorage.getItem(dueDateKey),
interval: localStorage.getItem(intervalKey)
},
initEvergreen = function () {
var evergreenDueDate = new Date();
self.cache.data.endTime = evergreenDueDate.setSeconds(evergreenDueDate.getSeconds() + interval);
localStorage.setItem(dueDateKey, self.cache.data.endTime);
localStorage.setItem(intervalKey, interval);
return self.cache.data.endTime;
};
if (null === localData.dueDate && null === localData.interval) {
return initEvergreen();
}
if (null !== localData.dueDate && interval !== parseInt(localData.interval, 10)) {
return initEvergreen();
}
if (localData.dueDate > 0 && parseInt(localData.interval, 10) === interval) {
return localData.dueDate;
}
}
});
/***/ })
}]);
//# sourceMappingURL=countdown.60cf02eaf22d71d83f3d.bundle.js.mapvar jabvfcr_selector;
var jabvfcr_iframe = jQuery('.jabvfcr .js-inspector .js-site-preview-iframe')[0].contentWindow;
jabvfcr_iframe.addEventListener("load", function() {
jabvfcr_openInspector();
});
function jabvfcr_isValidSelector() {
jQuery('.jabvfcr .invalid').addClass('dn');
var selector = jQuery('.jabvfcr .js-selector').val();
var isValid = jabvfcr_iframe.jabvfcr_isSelectorValid(selector);
if (!isValid) {
jQuery('.jabvfcr .invalid').removeClass('dn');
}
return isValid;
}
function jabvfcr_selected(selector) {
jQuery('.jabvfcr .js-selector').val(selector);
jabvfcr_toggleOptions();
jQuery('.jabvfcr .invalid').addClass('dn');
}
function jabvfcr_toggleOptions(hide) {
jQuery('.jabvfcr .js-inspector .js-clear').toggleClass('dn', hide);
}
function jabvfcr_toggleOverlay(show) {
jQuery('.jabvfcr .js-inspector')[show ? 'show' : 'hide']();
jQuery('body').css({
overflow: show ? 'hidden' : ''
});
}
function jabvfcr_updateCurrentSelector(selector) {
jQuery('.jabvfcr .js-current-selector').text(selector);
}
function jabvfcr_getOptions() {
var selector = jQuery('.jabvfcr .js-selector').val();
var manipulation = jQuery('.jabvfcr .js-manipulation:checked').val();
var content = tinyMCE.activeEditor && !tinyMCE.activeEditor.hidden ? tinyMCE.activeEditor.getContent() : jQuery('#content').val();
return {
selector:selector,
manipulation: manipulation,
content: content
};
}
function jabvfcr_resetSelector() {
jabvfcr_iframe.jabvfcr_resetSelector();
jQuery('.jabvfcr .js-selector').val('');
}
function jabvfcr_openInspector() {
jQuery('.jabvfcr .js-loading-screen').remove();
var selector = jQuery('.jabvfcr .js-selector').val();
if (selector && jabvfcr_iframe.jabvfcr_isSelectorValid(selector)) {
jabvfcr_iframe.jabvfcr_updateSelector(selector);
jabvfcr_toggleOptions(false);
}
jabvfcr_toggleOverlay(true);
}
function jabvfcr_saveSelector() {
if (!jabvfcr_isValidSelector()) {
return;
}
var data = {
_ajax_nonce: jabvfcr_ajax.nonce,
action: 'jabvfcr_save_selector',
selector: jQuery('.jabvfcr .js-selector').val(),
manipulation: jQuery('.jabvfcr .js-manipulation:checked').val(),
content: tinyMCE.activeEditor && !tinyMCE.activeEditor.hidden ? tinyMCE.activeEditor.getContent() : jQuery('#content').val()
};
jQuery.post(jabvfcr_ajax.url, data).then(function() {
alert('Settings updated.');
}).fail(function() {
alert('There was an unexpected error. Please try again.');
});
}
(function ($) {
jQuery( document ).on( 'tinymce-editor-init', function( event, editor ) {
tinyMCE.activeEditor.onKeyUp.add(function(){
jabvfcr_iframe.jabvfcr_updateSelector();
});
tinyMCE.activeEditor.onChange.add(function(){
jabvfcr_iframe.jabvfcr_updateSelector();
});
});
jQuery('#content').keyup(function(){
jabvfcr_iframe.jabvfcr_updateSelector();
});
jQuery('#content').change(function(){
jabvfcr_iframe.jabvfcr_updateSelector();
});
$('.jabvfcr .js-inspector .js-clear').click(function(e) {
jabvfcr_resetSelector();
jabvfcr_toggleOptions();
});
$('.jabvfcr .js-close-inspector').click(function(e) {
e.preventDefault();
jabvfcr_toggleOverlay(false);
});
$('.jabvfcr .js-toggle-advanced-options').click(function(e) {
e.preventDefault();
$('.js-advanced-options').toggleClass('dn');
});
$('.jabvfcr form .js-submit').click(function(e) {
e.preventDefault();
jabvfcr_saveSelector();
});
$('.jabvfcr form .js-selector').blur(function() {
if (jabvfcr_isValidSelector()) {
var selector = jQuery('.jabvfcr .js-selector').val();
jabvfcr_iframe.jabvfcr_updateSelector(selector);
}
});
$('.jabvfcr form .js-manipulation').change(function() {
jabvfcr_iframe.jabvfcr_updateSelector();
});
$('.jabvfcr .js-open-inspector').click(function() {
jabvfcr_openInspector();
});
})(jQuery);
1.0Education Wayhttps://educationway.co.ukadminhttps://educationway.co.uk/author/admin/How to Prevent Summer Learning Loss | Education Wayrich600338<blockquote class="wp-embedded-content" data-secret="U91ka3OWo3"><a href="https://educationway.co.uk/how-to-prevent-summer-learning-loss/">How to Prevent Summer Learning Loss</a></blockquote><iframe sandbox="allow-scripts" security="restricted" src="https://educationway.co.uk/how-to-prevent-summer-learning-loss/embed/#?secret=U91ka3OWo3" width="600" height="338" title="“How to Prevent Summer Learning Loss” — Education Way" data-secret="U91ka3OWo3" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"></iframe><script>
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&&d.addEventListener&&"undefined"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i<o.length;i++)o[i].style.display="none";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute("style"),"height"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):"link"===t.message&&(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
</script>
https://educationway.co.uk/wp-content/uploads/2024/08/teenreader.jpeg1254837Encourage your child to engage in creative writing over the summer. Whether it’s keeping a journal, writing stories, or even sending...