Source: scripts/helper/_feedback.js

'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)