Code coverage report for ./src/ocLazyLoad.directive.js

Statements: 16.67% (2 / 12)      Branches: 0% (0 / 4)      Functions: 14.29% (1 / 7)      Lines: 16.67% (2 / 12)      Ignored: none     

All files » ./src\ » ocLazyLoad.directive.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32    1     1                                                    
"use strict";
 
(function (angular) {
    "use strict";
 
    angular.module("oc.lazyLoad").directive("ocLazyLoad", function ($ocLazyLoad, $compile, $animate, $parse) {
        return {
            restrict: "A",
            terminal: true,
            priority: 1000,
            compile: function compile(element, attrs) {
                // we store the content and remove it before compilation
                var content = element[0].innerHTML;
                element.html("");
 
                return function ($scope, $element, $attr) {
                    var model = $parse($attr.ocLazyLoad);
                    $scope.$watch(function () {
                        return model($scope) || $attr.ocLazyLoad; // it can be a module name (string), an object, an array, or a scope reference to any of this
                    }, function (moduleName) {
                        if (angular.isDefined(moduleName)) {
                            $ocLazyLoad.load(moduleName).then(function () {
                                $animate.enter($compile(content)($scope), $element);
                            });
                        }
                    }, true);
                };
            }
        };
    });
})(angular);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkM6L3dhbXAvd3d3L29jTGF6eUxvYWQvc3JjL29jTGF6eUxvYWQuZGlyZWN0aXZlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsQ0FBQyxVQUFBLE9BQU8sRUFBSTtBQUNSLGdCQUFZLENBQUM7O0FBRWIsV0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLFVBQVMsV0FBVyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO0FBQ3BHLGVBQU87QUFDSCxvQkFBUSxFQUFFLEdBQUc7QUFDYixvQkFBUSxFQUFFLElBQUk7QUFDZCxvQkFBUSxFQUFFLElBQUk7QUFDZCxtQkFBTyxFQUFFLGlCQUFTLE9BQU8sRUFBRSxLQUFLLEVBQUU7O0FBRTlCLG9CQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ25DLHVCQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDOztBQUVqQix1QkFBTyxVQUFTLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0FBQ3JDLHdCQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3JDLDBCQUFNLENBQUMsTUFBTSxDQUFDLFlBQU07QUFDaEIsK0JBQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUM7cUJBQzVDLEVBQUUsVUFBQSxVQUFVLEVBQUk7QUFDYiw0QkFBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQzlCLHVDQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFNO0FBQ3BDLHdDQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQzs2QkFDdkQsQ0FBQyxDQUFDO3lCQUNOO3FCQUNKLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ1osQ0FBQzthQUNMO1NBQ0osQ0FBQztLQUNMLENBQUMsQ0FBQztDQUVOLENBQUEsQ0FBRSxPQUFPLENBQUMsQ0FBQyIsImZpbGUiOiJDOi93YW1wL3d3dy9vY0xhenlMb2FkL3NyYy9vY0xhenlMb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIihhbmd1bGFyID0+IHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICBhbmd1bGFyLm1vZHVsZSgnb2MubGF6eUxvYWQnKS5kaXJlY3RpdmUoJ29jTGF6eUxvYWQnLCBmdW5jdGlvbigkb2NMYXp5TG9hZCwgJGNvbXBpbGUsICRhbmltYXRlLCAkcGFyc2UpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc3RyaWN0OiAnQScsXG4gICAgICAgICAgICB0ZXJtaW5hbDogdHJ1ZSxcbiAgICAgICAgICAgIHByaW9yaXR5OiAxMDAwLFxuICAgICAgICAgICAgY29tcGlsZTogZnVuY3Rpb24oZWxlbWVudCwgYXR0cnMpIHtcbiAgICAgICAgICAgICAgICAvLyB3ZSBzdG9yZSB0aGUgY29udGVudCBhbmQgcmVtb3ZlIGl0IGJlZm9yZSBjb21waWxhdGlvblxuICAgICAgICAgICAgICAgIHZhciBjb250ZW50ID0gZWxlbWVudFswXS5pbm5lckhUTUw7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5odG1sKCcnKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigkc2NvcGUsICRlbGVtZW50LCAkYXR0cikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbW9kZWwgPSAkcGFyc2UoJGF0dHIub2NMYXp5TG9hZCk7XG4gICAgICAgICAgICAgICAgICAgICRzY29wZS4kd2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZGVsKCRzY29wZSkgfHwgJGF0dHIub2NMYXp5TG9hZDsgLy8gaXQgY2FuIGJlIGEgbW9kdWxlIG5hbWUgKHN0cmluZyksIGFuIG9iamVjdCwgYW4gYXJyYXksIG9yIGEgc2NvcGUgcmVmZXJlbmNlIHRvIGFueSBvZiB0aGlzXG4gICAgICAgICAgICAgICAgICAgIH0sIG1vZHVsZU5hbWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYW5ndWxhci5pc0RlZmluZWQobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2NMYXp5TG9hZC5sb2FkKG1vZHVsZU5hbWUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYW5pbWF0ZS5lbnRlcigkY29tcGlsZShjb250ZW50KSgkc2NvcGUpLCAkZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIHRydWUpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSk7XG5cbn0pKGFuZ3VsYXIpO1xuIl19