'use strict';
/**
* Amends to markup in certain environments.
* @namespace environments
* @memberof UCASDesignFramework
* @param {object} global - UCASDesignFramework object.
* @param {object} _u - UCASUtilities object.
*/
(function (global, _u) {
var environment
var environments = {
'HEP': 'https://hep-digital.ucasenvironments.com'
}
/**
* Initialise environments plugin.
* @function init
* @memberof! UCASDesignFramework.environments
* @public
*/
function init () {
environment = document.documentElement.getAttribute('data-environment')
if (environment && environments[environment]) {
var header = document.getElementById('section--upper-header')
if (header) {
var logo = header.getElementsByClassName('logo')[0]
if (logo) {
logo.setAttribute('href', environments[environment])
}
addBanner(environment)
} else {
_u.log.log('Element #section--upper-header not found.')
}
}
}
/**
* Add environment banner.
* @function addBanner
* @memberof! UCASDesignFramework.environments
* @param {string} environment - String representing the environment.
*/
function addBanner (environment) {
var pageWrapper = document.querySelector('.page-wrapper,#wrapper')
if (!pageWrapper.querySelector('.wrapper-background--test-environment')) {
var parser = new DOMParser()
var domString = '<div class="section wrapper-background wrapper-background--test-environment"><div class="wrapper wrapper--padding">TEST ENVIRONMENT</div></div>'
var html = parser.parseFromString(domString, 'text/html')
pageWrapper.appendChild(html.body.firstChild)
}
}
/**
* Fake environment attribute.
* @function fakeEnvironment
* @memberof! UCASDesignFramework.environments
* @param {string} environment - String representing the environment.
* @public
*/
function fakeEnvironment (environment) {
document.documentElement.setAttribute('data-environment', environment)
init()
}
// Expose public methods.
global.environments = {
init: init,
initOnLoad: true,
fakeEnvironment: fakeEnvironment
}
})(UCASDesignFramework, UCASUtilities)