Merge pull request #436 from Manoz/fix/duplicate-code
[Enhancement] Duplicate code
This commit is contained in:
commit
de701ba421
200
tarteaucitron.js
200
tarteaucitron.js
|
|
@ -42,128 +42,37 @@ var tarteaucitron = {
|
|||
alreadyLaunch = 1;
|
||||
if (window.addEventListener) {
|
||||
window.addEventListener("load", function () {
|
||||
tarteaucitron.load();
|
||||
tarteaucitron.fallback(['tarteaucitronOpenPanel'], function (elem) {
|
||||
elem.addEventListener("click", function (event) {
|
||||
tarteaucitron.userInterface.openPanel();
|
||||
event.preventDefault();
|
||||
}, false);
|
||||
}, true);
|
||||
tarteaucitron.initEvents.loadEvent(false);
|
||||
}, false);
|
||||
window.addEventListener("scroll", function () {
|
||||
var scrollPos = window.pageYOffset || document.documentElement.scrollTop,
|
||||
heightPosition;
|
||||
if (document.getElementById('tarteaucitronAlertBig') !== null && !tarteaucitron.highPrivacy) {
|
||||
if (document.getElementById('tarteaucitronAlertBig').style.display === 'block') {
|
||||
heightPosition = document.getElementById('tarteaucitronAlertBig').offsetHeight + 'px';
|
||||
|
||||
if (scrollPos > (screen.height * 2)) {
|
||||
tarteaucitron.userInterface.respondAll(true);
|
||||
} else if (scrollPos > (screen.height / 2)) {
|
||||
document.getElementById('tarteaucitronDisclaimerAlert').innerHTML = '<strong>' + tarteaucitron.lang.alertBigScroll + '</strong> ' + tarteaucitron.lang.alertBig;
|
||||
}
|
||||
|
||||
if (tarteaucitron.orientation === 'top') {
|
||||
document.getElementById('tarteaucitronPercentage').style.top = heightPosition;
|
||||
} else {
|
||||
document.getElementById('tarteaucitronPercentage').style.bottom = heightPosition;
|
||||
}
|
||||
document.getElementById('tarteaucitronPercentage').style.width = ((100 / (screen.height * 2)) * scrollPos) + '%';
|
||||
}
|
||||
}
|
||||
tarteaucitron.initEvents.scrollEvent();
|
||||
}, false);
|
||||
|
||||
window.addEventListener("keydown", function (evt) {
|
||||
if (evt.keyCode === 27) {
|
||||
tarteaucitron.userInterface.closePanel();
|
||||
}
|
||||
tarteaucitron.initEvents.keydownEvent(false, evt);
|
||||
}, false);
|
||||
window.addEventListener("hashchange", function () {
|
||||
if (document.location.hash === tarteaucitron.hashtag && tarteaucitron.hashtag !== '') {
|
||||
tarteaucitron.userInterface.openPanel();
|
||||
}
|
||||
tarteaucitron.initEvents.hashchangeEvent();
|
||||
}, false);
|
||||
window.addEventListener("resize", function () {
|
||||
if (document.getElementById('tarteaucitron') !== null) {
|
||||
if (document.getElementById('tarteaucitron').style.display === 'block') {
|
||||
tarteaucitron.userInterface.jsSizing('main');
|
||||
}
|
||||
}
|
||||
|
||||
if (document.getElementById('tarteaucitronCookiesListContainer') !== null) {
|
||||
if (document.getElementById('tarteaucitronCookiesListContainer').style.display === 'block') {
|
||||
tarteaucitron.userInterface.jsSizing('cookie');
|
||||
}
|
||||
}
|
||||
tarteaucitron.initEvents.resizeEvent();
|
||||
}, false);
|
||||
} else {
|
||||
window.attachEvent("onload", function () {
|
||||
tarteaucitron.load();
|
||||
tarteaucitron.fallback(['tarteaucitronOpenPanel'], function (elem) {
|
||||
elem.attachEvent("onclick", function (event) {
|
||||
tarteaucitron.userInterface.openPanel();
|
||||
event.preventDefault();
|
||||
});
|
||||
}, true);
|
||||
tarteaucitron.initEvents.loadEvent(true);
|
||||
});
|
||||
window.attachEvent("onscroll", function () {
|
||||
var scrollPos = window.pageYOffset || document.documentElement.scrollTop,
|
||||
heightPosition;
|
||||
if (document.getElementById('tarteaucitronAlertBig') !== null && !tarteaucitron.highPrivacy) {
|
||||
if (document.getElementById('tarteaucitronAlertBig').style.display === 'block') {
|
||||
heightPosition = document.getElementById('tarteaucitronAlertBig').offsetHeight + 'px';
|
||||
|
||||
if (scrollPos > (screen.height * 2)) {
|
||||
tarteaucitron.userInterface.respondAll(true);
|
||||
} else if (scrollPos > (screen.height / 2)) {
|
||||
document.getElementById('tarteaucitronDisclaimerAlert').innerHTML = '<strong>' + tarteaucitron.lang.alertBigScroll + '</strong> ' + tarteaucitron.lang.alertBig;
|
||||
}
|
||||
if (tarteaucitron.orientation === 'top') {
|
||||
document.getElementById('tarteaucitronPercentage').style.top = heightPosition;
|
||||
} else {
|
||||
document.getElementById('tarteaucitronPercentage').style.bottom = heightPosition;
|
||||
}
|
||||
document.getElementById('tarteaucitronPercentage').style.width = ((100 / (screen.height * 2)) * scrollPos) + '%';
|
||||
}
|
||||
}
|
||||
tarteaucitron.initEvents.scrollEvent();
|
||||
});
|
||||
window.attachEvent("onkeydown", function (evt) {
|
||||
if (evt.keyCode === 27) {
|
||||
tarteaucitron.userInterface.closePanel();
|
||||
}
|
||||
|
||||
if ( evt.keyCode === 9 && focusableEls.indexOf(evt.target) >= 0) {
|
||||
if ( evt.shiftKey ) /* shift + tab */ {
|
||||
if (document.activeElement === firstFocusableEl) {
|
||||
lastFocusableEl.focus();
|
||||
evt.preventDefault();
|
||||
}
|
||||
} else /* tab */ {
|
||||
if (document.activeElement === lastFocusableEl) {
|
||||
firstFocusableEl.focus();
|
||||
evt.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
tarteaucitron.initEvents.keydownEvent(true, evt);
|
||||
|
||||
});
|
||||
window.attachEvent("onhashchange", function () {
|
||||
if (document.location.hash === tarteaucitron.hashtag && tarteaucitron.hashtag !== '') {
|
||||
tarteaucitron.userInterface.openPanel();
|
||||
}
|
||||
tarteaucitron.initEvents.hashchangeEvent();
|
||||
});
|
||||
window.attachEvent("onresize", function () {
|
||||
if (document.getElementById('tarteaucitron') !== null) {
|
||||
if (document.getElementById('tarteaucitron').style.display === 'block') {
|
||||
tarteaucitron.userInterface.jsSizing('main');
|
||||
}
|
||||
}
|
||||
|
||||
if (document.getElementById('tarteaucitronCookiesListContainer') !== null) {
|
||||
if (document.getElementById('tarteaucitronCookiesListContainer').style.display === 'block') {
|
||||
tarteaucitron.userInterface.jsSizing('cookie');
|
||||
}
|
||||
}
|
||||
tarteaucitron.initEvents.resizeEvent();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -200,6 +109,89 @@ var tarteaucitron = {
|
|||
tarteaucitron.events.init();
|
||||
}
|
||||
},
|
||||
"initEvents": {
|
||||
"loadEvent": function (isOldBrowser) {
|
||||
tarteaucitron.load();
|
||||
tarteaucitron.fallback(['tarteaucitronOpenPanel'], function (elem) {
|
||||
if (isOldBrowser) {
|
||||
elem.attachEvent("onclick", function (event) {
|
||||
tarteaucitron.userInterface.openPanel();
|
||||
event.preventDefault();
|
||||
});
|
||||
} else {
|
||||
elem.addEventListener("click", function (event) {
|
||||
tarteaucitron.userInterface.openPanel();
|
||||
event.preventDefault();
|
||||
}, false);
|
||||
}
|
||||
}, true);
|
||||
},
|
||||
"keydownEvent": function (isOldBrowser, evt) {
|
||||
if (evt.keyCode === 27) {
|
||||
tarteaucitron.userInterface.closePanel();
|
||||
}
|
||||
|
||||
if (isOldBrowser) {
|
||||
if ( evt.keyCode === 9 && focusableEls.indexOf(evt.target) >= 0) {
|
||||
if ( evt.shiftKey ) /* shift + tab */ {
|
||||
if (document.activeElement === firstFocusableEl) {
|
||||
lastFocusableEl.focus();
|
||||
evt.preventDefault();
|
||||
}
|
||||
} else /* tab */ {
|
||||
if (document.activeElement === lastFocusableEl) {
|
||||
firstFocusableEl.focus();
|
||||
evt.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"hashchangeEvent": function () {
|
||||
if (document.location.hash === tarteaucitron.hashtag && tarteaucitron.hashtag !== '') {
|
||||
tarteaucitron.userInterface.openPanel();
|
||||
}
|
||||
},
|
||||
"resizeEvent": function () {
|
||||
var tacElem = document.getElementById('tarteaucitron');
|
||||
var tacCookieContainer = document.getElementById('tarteaucitronCookiesListContainer');
|
||||
|
||||
if (tacElem && tacElem.style.display === 'block') {
|
||||
tarteaucitron.userInterface.jsSizing('main');
|
||||
}
|
||||
|
||||
if (tacCookieContainer && tacCookieContainer.style.display === 'block') {
|
||||
tarteaucitron.userInterface.jsSizing('cookie');
|
||||
}
|
||||
},
|
||||
"scrollEvent": function () {
|
||||
var scrollPos = window.pageYOffset || document.documentElement.scrollTop;
|
||||
var heightPosition;
|
||||
var tacPercentage = document.getElementById('tarteaucitronPercentage');
|
||||
var tacAlertBig = document.getElementById('tarteaucitronAlertBig');
|
||||
|
||||
if (tacAlertBig && !tarteaucitron.highPrivacy) {
|
||||
if (tacAlertBig.style.display === 'block') {
|
||||
heightPosition = tacAlertBig.offsetHeight + 'px';
|
||||
|
||||
if (scrollPos > (screen.height * 2)) {
|
||||
tarteaucitron.userInterface.respondAll(true);
|
||||
} else if (scrollPos > (screen.height / 2)) {
|
||||
document.getElementById('tarteaucitronDisclaimerAlert').innerHTML = '<strong>' + tarteaucitron.lang.alertBigScroll + '</strong> ' + tarteaucitron.lang.alertBig;
|
||||
}
|
||||
|
||||
if (tacPercentage) {
|
||||
if (tarteaucitron.orientation === 'top') {
|
||||
tacPercentage.style.top = heightPosition;
|
||||
} else {
|
||||
tacPercentage.style.bottom = heightPosition;
|
||||
}
|
||||
tacPercentage.style.width = ((100 / (screen.height * 2)) * scrollPos) + '%';
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
"load": function () {
|
||||
"use strict";
|
||||
var cdn = tarteaucitron.cdn,
|
||||
|
|
@ -225,7 +217,7 @@ var tarteaucitron = {
|
|||
"useExternalJs": false
|
||||
},
|
||||
params = tarteaucitron.parameters;
|
||||
|
||||
|
||||
// Don't show the middle bar if we are on the privacy policy page
|
||||
if (window.location.href == tarteaucitron.parameters.privacyUrl && tarteaucitron.parameters.orientation == "middle") {
|
||||
tarteaucitron.parameters.orientation = "bottom";
|
||||
|
|
@ -457,7 +449,7 @@ var tarteaucitron = {
|
|||
document.body.appendChild(wrapper);*/
|
||||
|
||||
div.id = 'tarteaucitronRoot';
|
||||
if (tarteaucitron.parameters.bodyPosition === 'top') {
|
||||
if (tarteaucitron.parameters.bodyPosition === 'top') {
|
||||
// Prepend tarteaucitron: #tarteaucitronRoot first-child of the body for better accessibility
|
||||
var bodyFirstChild = body.firstChild;
|
||||
body.insertBefore(div, bodyFirstChild);
|
||||
|
|
@ -536,7 +528,7 @@ var tarteaucitron = {
|
|||
html += '<div id="tarteaucitronPremium"></div>';
|
||||
|
||||
div.id = 'tarteaucitronRoot';
|
||||
if (tarteaucitron.parameters.bodyPosition === 'top') {
|
||||
if (tarteaucitron.parameters.bodyPosition === 'top') {
|
||||
// Prepend tarteaucitron: #tarteaucitronRoot first-child of the body for better accessibility
|
||||
var bodyFirstChild = body.firstChild;
|
||||
body.insertBefore(div, bodyFirstChild);
|
||||
|
|
|
|||
Loading…
Reference in New Issue