diff --git a/app/instance-initializers/browser/ember-href-to.js b/app/instance-initializers/browser/ember-href-to.js deleted file mode 100644 index 54af83e..0000000 --- a/app/instance-initializers/browser/ember-href-to.js +++ /dev/null @@ -1,31 +0,0 @@ -import Em from 'ember'; -import HrefTo from 'ember-href-to/href-to'; - -let hrefToClickHandler; -function closestLink(el) { - if (el.closest) { - return el.closest('a'); - } else { - el = el.parentElement; - while (el && el.tagName !== 'A') { - el = el.parentElement; - } - return el; - } -} -export default { - name: 'ember-href-to', - initialize(applicationInstance) { - if (hrefToClickHandler !== undefined) { - document.body.removeEventListener('click', hrefToClickHandler); - } - hrefToClickHandler = function _hrefToClickHandler(e) { - let link = e.target.tagName === 'A' ? e.target : closestLink(e.target); - if (link) { - let hrefTo = new HrefTo(applicationInstance, e, link); - hrefTo.maybeHandle(); - } - } - document.body.addEventListener('click', hrefToClickHandler); - } -}; diff --git a/app/instance-initializers/ember-href-to.js b/app/instance-initializers/ember-href-to.js new file mode 100644 index 0000000..5b5b18c --- /dev/null +++ b/app/instance-initializers/ember-href-to.js @@ -0,0 +1,34 @@ +import Em from 'ember'; +import HrefTo from 'ember-href-to/href-to'; + +let hrefToClickHandler; +function closestLink(el) { + if (el.closest) { + return el.closest('a'); + } else { + el = el.parentElement; + while (el && el.tagName !== 'A') { + el = el.parentElement; + } + return el; + } +} +export default { + name: 'ember-href-to', + initialize(applicationInstance) { + // we only want this to run in the browser, not in fastboot + if (typeof(FastBoot) === "undefined") { + if (hrefToClickHandler !== undefined) { + document.body.removeEventListener('click', hrefToClickHandler); + } + hrefToClickHandler = function _hrefToClickHandler(e) { + let link = e.target.tagName === 'A' ? e.target : closestLink(e.target); + if (link) { + let hrefTo = new HrefTo(applicationInstance, e, link); + hrefTo.maybeHandle(); + } + } + document.body.addEventListener('click', hrefToClickHandler); + } + } +};