"use strict";
(function (angular) {
"use strict";
angular.module("oc.lazyLoad").config(function ($provide) {
$provide.decorator("$ocLazyLoad", function ($delegate, $q) {
/**
* jsLoader function
* @type Function
* @param paths array list of js files to load
* @param callback to call when everything is loaded. We use a callback and not a promise
* @param params object config parameters
* because the user can overwrite jsLoader and it will probably not use promises :(
*/
$delegate.jsLoader = function (paths, callback, params) {
var promises = [];
angular.forEach(paths, function loading(path) {
promises.push($delegate.buildElement("js", path, params));
});
$q.all(promises).then(function success() {
callback();
}, function error(err) {
callback(err);
});
};
$delegate.jsLoader.ocLazyLoadLoader = true;
return $delegate;
});
});
})(angular);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkM6L3dhbXAvd3d3L29jTGF6eUxvYWQvc3JjL29jTGF6eUxvYWQubG9hZGVycy5qc0xvYWRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLENBQUMsVUFBUyxPQUFPLEVBQUU7QUFDZixnQkFBWSxDQUFDOztBQUViLFdBQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVMsUUFBUSxFQUFFO0FBQ3BELGdCQUFRLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxVQUFVLFNBQVMsRUFBRSxFQUFFLEVBQUU7Ozs7Ozs7OztBQVN2RCxxQkFBUyxDQUFDLFFBQVEsR0FBRyxVQUFTLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO0FBQ25ELG9CQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDbEIsdUJBQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsT0FBTyxDQUFDLElBQUksRUFBRTtBQUMxQyw0QkFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDN0QsQ0FBQyxDQUFDO0FBQ0gsa0JBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsT0FBTyxHQUFHO0FBQ3JDLDRCQUFRLEVBQUUsQ0FBQztpQkFDZCxFQUFFLFNBQVMsS0FBSyxDQUFDLEdBQUcsRUFBRTtBQUNuQiw0QkFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNqQixDQUFDLENBQUM7YUFDTixDQUFDO0FBQ0YscUJBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDOztBQUUzQyxtQkFBTyxTQUFTLENBQUM7U0FDcEIsQ0FBQyxDQUFBO0tBQ0wsQ0FBQyxDQUFDO0NBRU4sQ0FBQSxDQUFFLE9BQU8sQ0FBQyxDQUFDIiwiZmlsZSI6IkM6L3dhbXAvd3d3L29jTGF6eUxvYWQvc3JjL29jTGF6eUxvYWQubG9hZGVycy5qc0xvYWRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbihhbmd1bGFyKSB7XHJcbiAgICAndXNlIHN0cmljdCc7XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ29jLmxhenlMb2FkJykuY29uZmlnKGZ1bmN0aW9uKCRwcm92aWRlKSB7XHJcbiAgICAgICAgJHByb3ZpZGUuZGVjb3JhdG9yKCckb2NMYXp5TG9hZCcsIGZ1bmN0aW9uICgkZGVsZWdhdGUsICRxKSB7XHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBqc0xvYWRlciBmdW5jdGlvblxyXG4gICAgICAgICAgICAgKiBAdHlwZSBGdW5jdGlvblxyXG4gICAgICAgICAgICAgKiBAcGFyYW0gcGF0aHMgYXJyYXkgbGlzdCBvZiBqcyBmaWxlcyB0byBsb2FkXHJcbiAgICAgICAgICAgICAqIEBwYXJhbSBjYWxsYmFjayB0byBjYWxsIHdoZW4gZXZlcnl0aGluZyBpcyBsb2FkZWQuIFdlIHVzZSBhIGNhbGxiYWNrIGFuZCBub3QgYSBwcm9taXNlXHJcbiAgICAgICAgICAgICAqIEBwYXJhbSBwYXJhbXMgb2JqZWN0IGNvbmZpZyBwYXJhbWV0ZXJzXHJcbiAgICAgICAgICAgICAqIGJlY2F1c2UgdGhlIHVzZXIgY2FuIG92ZXJ3cml0ZSBqc0xvYWRlciBhbmQgaXQgd2lsbCBwcm9iYWJseSBub3QgdXNlIHByb21pc2VzIDooXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAkZGVsZWdhdGUuanNMb2FkZXIgPSBmdW5jdGlvbihwYXRocywgY2FsbGJhY2ssIHBhcmFtcykge1xyXG4gICAgICAgICAgICAgICAgdmFyIHByb21pc2VzID0gW107XHJcbiAgICAgICAgICAgICAgICBhbmd1bGFyLmZvckVhY2gocGF0aHMsIGZ1bmN0aW9uIGxvYWRpbmcocGF0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb21pc2VzLnB1c2goJGRlbGVnYXRlLmJ1aWxkRWxlbWVudCgnanMnLCBwYXRoLCBwYXJhbXMpKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgJHEuYWxsKHByb21pc2VzKS50aGVuKGZ1bmN0aW9uIHN1Y2Nlc3MoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIGVycm9yKGVycikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVycik7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgJGRlbGVnYXRlLmpzTG9hZGVyLm9jTGF6eUxvYWRMb2FkZXIgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuICRkZWxlZ2F0ZTtcclxuICAgICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG59KShhbmd1bGFyKTtcclxuIl19 |