Discussions

Ask a Question
Back to All

rerun contents of lazylaoded file

Hi,

I have breakpoints in my lazyload file. It only gets hit on first load of the page. However, i have the lazyload directive set to run when certain buttons are clicked and its not happening. I need the contents to reload as the DOM has changed. Lazyload looks like this:

(function () {
'use strict';
angular.module('lazyloadCtrl', ['filesService'])
.controller('lazyloadCtrl', ['Files', '$ocLazyLoad', '$scope', '$rootScope', '$compile',
function (Files, $ocLazyLoad, $scope, $rootScope,$compile) {

        $rootScope.$emit('initLazyLoad');
        
        $rootScope.$on('initLazyLoad',function(event,args){
            $ocLazyLoad.load(
                [{
                    name: 'Callout_Email',
                    files: ['/scripts/services/lazyload.js'],
                    rerun: true
                    }
                ])
                .then(function success(args) {
	                $ocLazyLoad.load(
	                [{
	                    name: 'Callout_PeoplePicker',
	                    files: ['/scripts/services/sp.email.js']
	                }
	                ])
	                .then(function success(args){
	                    var temp = document.getElementsByClassName('scEmailLink');
	                    angular.forEach(temp, function(value,key){
	                    	value.onclick = function(e){
	                    		angular.element('#peoplepickerElm' + key).toggle();
	                    		//console.log("Hooked into element: peoplepickerElm" + key);
	                    	};
	                    }, this);
	                	console.log("Callout_PeoplePicker success: " + args);
	                },
	                function error(err){
	                	console.log("Callout_PeoplePicker fail: " + err);		                
	                });
                    return args;
                },
                function error(err) {
                	console.log("Callout_Email fail: " + err);
                    console.log(err);
                    return err;
                });
        });
    }]);

}());

The contents of the files are not angular. They are SharePoint. And because the DOM has changed, i need them reloaded/reran, but when i run $rootScope.$emit('initLazyLoad'); from another part of my application, these files are not getting reloaded.

Any suggestions?

Thanks