2015-12-16 05:21:13 -06:00
|
|
|
///<reference path="../../headers/common.d.ts" />
|
2015-09-15 01:52:53 -05:00
|
|
|
|
|
|
|
export class BundleLoader {
|
|
|
|
lazy: any;
|
|
|
|
|
|
|
|
constructor(bundleName) {
|
2016-09-14 03:45:56 -05:00
|
|
|
var defer = null;
|
|
|
|
|
2015-09-15 01:52:53 -05:00
|
|
|
this.lazy = ["$q", "$route", "$rootScope", ($q, $route, $rootScope) => {
|
2016-09-14 03:45:56 -05:00
|
|
|
if (defer) {
|
|
|
|
return defer.promise;
|
2015-09-15 01:52:53 -05:00
|
|
|
}
|
|
|
|
|
2016-09-14 03:45:56 -05:00
|
|
|
defer = $q.defer();
|
2015-09-15 01:52:53 -05:00
|
|
|
|
2015-12-16 05:21:13 -06:00
|
|
|
System.import(bundleName).then(() => {
|
2016-09-14 03:45:56 -05:00
|
|
|
defer.resolve();
|
2015-09-15 01:52:53 -05:00
|
|
|
});
|
|
|
|
|
2016-09-14 03:45:56 -05:00
|
|
|
return defer.promise;
|
2015-09-15 01:52:53 -05:00
|
|
|
}];
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|