diff --git a/static/js/utils/setup.js b/static/js/utils/setup.js index 2b34a8161..dc2f2c2e3 100644 --- a/static/js/utils/setup.js +++ b/static/js/utils/setup.js @@ -41,21 +41,20 @@ } function setup() { - var listener = function(event) { - - if (event.detail.targetUtil !== utilName) { - return false; - } - - if (options.setupFunction) { - utilInstance = options.setupFunction(scope, options); - } else { - var util = window.utils[utilName]; - if (!util) { - throw new Error('"' + utilName + '" is not a known js util'); + var listener = function(event) { + if (event.detail.targetUtil !== utilName) { + return false; } - utilInstance = util(scope, options); + if (options.setupFunction) { + utilInstance = options.setupFunction(scope, options); + } else { + var util = window.utils[utilName]; + if (!util) { + throw new Error('"' + utilName + '" is not a known js util'); + } + + utilInstance = util(scope, options); } if (utilInstance) { @@ -64,11 +63,11 @@ } else { activeInstances[utilName] = [ utilInstance ]; } - } - }; + } + }; if (registeredSetupListeners[utilName] && Array.isArray(registeredSetupListeners[utilName])) { - window.utils.teardown(utilName); + window.utils.teardown(utilName); } if (!registeredSetupListeners[utilName] || Array.isArray(registeredSetupListeners[utilName])) { @@ -76,13 +75,13 @@ } registeredSetupListeners[utilName].push(listener); - document.addEventListener('setup', listener); + document.addEventListener('setup', listener); - document.dispatchEvent(new CustomEvent('setup', { - detail: { targetUtil: utilName, module: 'none' }, - bubbles: true, - cancelable: true, - })); + document.dispatchEvent(new CustomEvent('setup', { + detail: { targetUtil: utilName, module: 'none' }, + bubbles: true, + cancelable: true, + })); } setup(); @@ -90,14 +89,13 @@ return utilInstance; }; - window.utils.teardown = function(utilName, destroy) { if (registeredSetupListeners[utilName]) { registeredSetupListeners[utilName] .filter(function(listener) { return !!listener }) .forEach(function(listener) { - document.removeEventListener('setup', listener); - }); + document.removeEventListener('setup', listener); + }); delete registeredSetupListeners[utilName]; }