'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 (path) {
promises.push($delegate.buildElement('js', path, params));
});
$q.all(promises).then(function () {
callback();
}, function (err) {
callback(err);
});
};
$delegate.jsLoader.ocLazyLoadLoader = true;
return $delegate;
});
});
})(angular);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkM6L3dhbXAvd3d3L29jTGF6eUxvYWQvc3JjL29jTGF6eUxvYWQubG9hZGVycy5qc0xvYWRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLENBQUMsVUFBQSxPQUFPLEVBQUk7QUFDUixnQkFBWSxDQUFDOztBQUViLFdBQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVMsUUFBUSxFQUFFO0FBQ3BELGdCQUFRLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxVQUFVLFNBQVMsRUFBRSxFQUFFLEVBQUU7Ozs7Ozs7OztBQVN2RCxxQkFBUyxDQUFDLFFBQVEsR0FBRyxVQUFTLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO0FBQ25ELG9CQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDbEIsdUJBQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQUEsSUFBSSxFQUFJO0FBQzNCLDRCQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUM3RCxDQUFDLENBQUM7QUFDSCxrQkFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBTTtBQUN4Qiw0QkFBUSxFQUFFLENBQUM7aUJBQ2QsRUFBRSxVQUFBLEdBQUcsRUFBSTtBQUNOLDRCQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2pCLENBQUMsQ0FBQzthQUNOLENBQUM7QUFDRixxQkFBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7O0FBRTNDLG1CQUFPLFNBQVMsQ0FBQztTQUNwQixDQUFDLENBQUE7S0FDTCxDQUFDLENBQUM7Q0FFTixDQUFBLENBQUUsT0FBTyxDQUFDLENBQUMiLCJmaWxlIjoiQzovd2FtcC93d3cvb2NMYXp5TG9hZC9zcmMvb2NMYXp5TG9hZC5sb2FkZXJzLmpzTG9hZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGFuZ3VsYXIgPT4ge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIGFuZ3VsYXIubW9kdWxlKCdvYy5sYXp5TG9hZCcpLmNvbmZpZyhmdW5jdGlvbigkcHJvdmlkZSkge1xuICAgICAgICAkcHJvdmlkZS5kZWNvcmF0b3IoJyRvY0xhenlMb2FkJywgZnVuY3Rpb24gKCRkZWxlZ2F0ZSwgJHEpIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICoganNMb2FkZXIgZnVuY3Rpb25cbiAgICAgICAgICAgICAqIEB0eXBlIEZ1bmN0aW9uXG4gICAgICAgICAgICAgKiBAcGFyYW0gcGF0aHMgYXJyYXkgbGlzdCBvZiBqcyBmaWxlcyB0byBsb2FkXG4gICAgICAgICAgICAgKiBAcGFyYW0gY2FsbGJhY2sgdG8gY2FsbCB3aGVuIGV2ZXJ5dGhpbmcgaXMgbG9hZGVkLiBXZSB1c2UgYSBjYWxsYmFjayBhbmQgbm90IGEgcHJvbWlzZVxuICAgICAgICAgICAgICogQHBhcmFtIHBhcmFtcyBvYmplY3QgY29uZmlnIHBhcmFtZXRlcnNcbiAgICAgICAgICAgICAqIGJlY2F1c2UgdGhlIHVzZXIgY2FuIG92ZXJ3cml0ZSBqc0xvYWRlciBhbmQgaXQgd2lsbCBwcm9iYWJseSBub3QgdXNlIHByb21pc2VzIDooXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICRkZWxlZ2F0ZS5qc0xvYWRlciA9IGZ1bmN0aW9uKHBhdGhzLCBjYWxsYmFjaywgcGFyYW1zKSB7XG4gICAgICAgICAgICAgICAgdmFyIHByb21pc2VzID0gW107XG4gICAgICAgICAgICAgICAgYW5ndWxhci5mb3JFYWNoKHBhdGhzLCBwYXRoID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaCgkZGVsZWdhdGUuYnVpbGRFbGVtZW50KCdqcycsIHBhdGgsIHBhcmFtcykpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICRxLmFsbChwcm9taXNlcykudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAkZGVsZWdhdGUuanNMb2FkZXIub2NMYXp5TG9hZExvYWRlciA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiAkZGVsZWdhdGU7XG4gICAgICAgIH0pXG4gICAgfSk7XG5cbn0pKGFuZ3VsYXIpO1xuIl19 |