'use strict';
/**
* Amends to feedback URLs.
* @namespace feedback
* @memberof UCASDesignFramework
* @param {object} global - UCASDesignFramework object.
* @param {object} _u - UCASUtilities object.
*/
(function (global, _u) {
var feedbackUrl
var options
/**
* Initialise plugin.
* The feedback URL can be overridden by including
* data-feedback-override on the document element.
* Additional parameters can be added in data-feedback-options.
* e.g. data-feedback-options="&a=1&b=2"
* If this needs to be refreshed at any time, UCASDesignFramework.feedback.init() can be called.
* @function init
* @memberof! UCASDesignFramework.feedback
* @public
*/
function init () {
var link = document.getElementById('udf-feedback-link')
if (link) {
feedbackUrl = document.documentElement.getAttribute('data-feedback-override') || link.href
options = document.documentElement.getAttribute('data-feedback-options') || ''
link.addEventListener('click', clickLinkHandler, false)
}
}
/**
* Click feedback link handler.
* @param {Event} e - DOM event
*/
function clickLinkHandler (e) {
e.preventDefault()
window.location.href = feedbackUrl + '?c=' + escape(getCurrentUrl()) + options
}
function getCurrentUrl () {
return window.location.href
}
// Expose public methods.
global.feedback = {
init: init,
initOnLoad: true
}
})(UCASDesignFramework, UCASUtilities)