UNPKG

blinx

Version:

The Scalable JavaScript Application Framework

60 lines (56 loc) 1.89 kB
/** * Created by anoof.shaikh on 03/01/17. */ var attachListener = function attachListener(moduleObject) { document.addEventListener('content-script-to-blinx', function (event) { var message = void 0; var moduleData = function moduleData() { var returnObject = []; // var objectToParse = _store.moduleS; var objectToParse = moduleObject(); objectToParse.forEach(function (module, moduleIndex) { var subModulesArray = function subModulesArray(thisModule) { if (!thisModule.config || !thisModule.config.modules) { return []; } var returnArr = []; thisModule.config.modules.forEach(function (subModule, subModuleIndex) { returnArr.push({ moduleName: subModule.moduleName, moduleConfig: { container: subModule.instanceConfig.container, listensTo: subModule.instanceConfig.listensTo, placeholders: JSON.stringify(subModule.instanceConfig.placeholders) }, subModules: subModulesArray(subModule), moduleInstanceConfig: JSON.stringify(subModule.instanceConfig) }); }); return returnArr; }; var moduleObj = { moduleName: module.moduleName, moduleConfig: { container: module.instanceConfig.container, listensTo: module.instanceConfig.listensTo, placeholders: JSON.stringify(module.instanceConfig.placeholders) }, subModules: subModulesArray(module), moduleInstanceConfig: JSON.stringify(module.instanceConfig) }; returnObject.push(moduleObj); }); return returnObject; }; switch (event.detail.eventId) { case 'GET_MODULES': message = { eventId: 'GET_MODULES_REPONSE', data: moduleData() }; break; } var event = new CustomEvent('blinx-to-content-script', { bubbles: true, detail: message }); document.dispatchEvent(event); }); }; export default { attachListener: attachListener };