var otpHotModuleLoaded = function(moduleId){ console.log('loaded hot module', moduleId); // INSERT CODE HERE }; var otpLoadedModuleTours = {}; var otpRefreshTour = function($block, tour, tourId, block){ if(block.hasOwnProperty('block') && typeof block.block === 'object' && block.hasOwnProperty('tours')){ if(block.block.hasOwnProperty('block_id')){ if(!otpLoadedModuleTours.hasOwnProperty(block.block.block_id)){ otpLoadedModuleTours[block.block.block_id] = { tours: {}, loaded: false }; for(var tourIndex = 0; tourIndex < block.tours.length; tourIndex++){ otpLoadedModuleTours[block.block.block_id].tours[block.tours[tourIndex]] = false; } } otpLoadedModuleTours[block.block.block_id].tours[tourId] = true; var allToursLoadedInModule = true; for(var statusTourId in otpLoadedModuleTours[block.block.block_id].tours){ if(otpLoadedModuleTours[block.block.block_id].tours.hasOwnProperty(statusTourId)){ if(otpLoadedModuleTours[block.block.block_id].tours[statusTourId] === false){ allToursLoadedInModule = false; break; } } } if( allToursLoadedInModule ){ otpLoadedModuleTours[block.block.block_id].loaded = true; if( typeof window.otpHotModuleLoaded === 'function' ){ window.otpHotModuleLoaded(block.block.block_id); } } } } };