System.register(['aurelia-dependency-injection', 'aurelia-templating', 'aurelia-router', 'aurelia-path', 'aurelia-metadata'], function (_export) {
'use strict';
var inject, CompositionEngine, RouteLoader, Router, relativeToFile, Origin, TemplatingRouteLoader;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
function _inherits(subClass, superClass) { Iif (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); Eif (superClass) subClass.__proto__ = superClass; }
return {
setters: [function (_aureliaDependencyInjection) {
inject = _aureliaDependencyInjection.inject;
}, function (_aureliaTemplating) {
CompositionEngine = _aureliaTemplating.CompositionEngine;
}, function (_aureliaRouter) {
RouteLoader = _aureliaRouter.RouteLoader;
Router = _aureliaRouter.Router;
}, function (_aureliaPath) {
relativeToFile = _aureliaPath.relativeToFile;
}, function (_aureliaMetadata) {
Origin = _aureliaMetadata.Origin;
}],
execute: function () {
TemplatingRouteLoader = (function (_RouteLoader) {
function TemplatingRouteLoader(compositionEngine) {
_classCallCheck(this, _TemplatingRouteLoader);
_RouteLoader.call(this);
this.compositionEngine = compositionEngine;
}
_inherits(TemplatingRouteLoader, _RouteLoader);
var _TemplatingRouteLoader = TemplatingRouteLoader;
_TemplatingRouteLoader.prototype.loadRoute = function loadRoute(router, config) {
var childContainer = router.container.createChild(),
instruction = {
viewModel: relativeToFile(config.moduleId, Origin.get(router.container.viewModel.constructor).moduleId),
childContainer: childContainer,
view: config.view || config.viewStrategy
};
childContainer.getChildRouter = function () {
var childRouter;
childContainer.registerHandler(Router, function (c) {
return childRouter || (childRouter = router.createChild(childContainer));
});
return childContainer.get(Router);
};
return this.compositionEngine.createViewModel(instruction).then(function (instruction) {
instruction.executionContext = instruction.viewModel;
instruction.router = router;
return instruction;
});
};
TemplatingRouteLoader = inject(CompositionEngine)(TemplatingRouteLoader) || TemplatingRouteLoader;
return TemplatingRouteLoader;
})(RouteLoader);
_export('TemplatingRouteLoader', TemplatingRouteLoader);
}
};
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL3RlbXBsYXRpbmctcm91dGVyL3NyYy9yb3V0ZS1sb2FkZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OzhFQU9hLHFCQUFxQjs7Ozs7Ozs7MkNBUDFCLE1BQU07OzZDQUNOLGlCQUFpQjs7bUNBQ2pCLFdBQVc7OEJBQUUsTUFBTTs7b0NBQ25CLGNBQWM7O2dDQUNkLE1BQU07OztBQUdELDJCQUFxQjtBQUNyQixpQkFEQSxxQkFBcUIsQ0FDcEIsaUJBQWlCLEVBQUM7OztBQUM1QixpQ0FBTyxDQUFDO0FBQ1IsY0FBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1NBQzVDOztrQkFKVSxxQkFBcUI7O3FDQUFyQixxQkFBcUI7O3lDQU1oQyxTQUFTLEdBQUEsbUJBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQztBQUN2QixjQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRTtjQUMvQyxXQUFXLEdBQUc7QUFDWixxQkFBUyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ3ZHLDBCQUFjLEVBQUMsY0FBYztBQUM3QixnQkFBSSxFQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLFlBQVk7V0FDeEMsQ0FBQzs7QUFFTix3QkFBYyxDQUFDLGNBQWMsR0FBRyxZQUFVO0FBQ3hDLGdCQUFJLFdBQVcsQ0FBQzs7QUFFaEIsMEJBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFVBQUEsQ0FBQyxFQUFJO0FBQzFDLHFCQUFPLFdBQVcsS0FBSyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQSxBQUFDLENBQUM7YUFDMUUsQ0FBQyxDQUFDOztBQUVILG1CQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7V0FDbkMsQ0FBQzs7QUFFRixpQkFBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFBLFdBQVcsRUFBSTtBQUM3RSx1QkFBVyxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7QUFDckQsdUJBQVcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQzVCLG1CQUFPLFdBQVcsQ0FBQztXQUNwQixDQUFDLENBQUM7U0FDSjs7QUE3QlUsNkJBQXFCLEdBRGpDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUNiLHFCQUFxQixLQUFyQixxQkFBcUI7ZUFBckIscUJBQXFCO1NBQVMsV0FBVzs7dUNBQXpDLHFCQUFxQiIsImZpbGUiOiIvVXNlcnMvRWlzZW5iZXJnRWZmZWN0L0RvY3VtZW50cy9HaXRIdWIvVGhlIER1cmFuZGFsIFByb2plY3QvYXVyZWxpYS90ZW1wbGF0aW5nLXJvdXRlci9zcmMvcm91dGUtbG9hZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3R9IGZyb20gJ2F1cmVsaWEtZGVwZW5kZW5jeS1pbmplY3Rpb24nO1xuaW1wb3J0IHtDb21wb3NpdGlvbkVuZ2luZX0gZnJvbSAnYXVyZWxpYS10ZW1wbGF0aW5nJztcbmltcG9ydCB7Um91dGVMb2FkZXIsIFJvdXRlcn0gZnJvbSAnYXVyZWxpYS1yb3V0ZXInO1xuaW1wb3J0IHtyZWxhdGl2ZVRvRmlsZX0gZnJvbSAnYXVyZWxpYS1wYXRoJztcbmltcG9ydCB7T3JpZ2lufSBmcm9tICdhdXJlbGlhLW1ldGFkYXRhJztcblxuQGluamVjdChDb21wb3NpdGlvbkVuZ2luZSlcbmV4cG9ydCBjbGFzcyBUZW1wbGF0aW5nUm91dGVMb2FkZXIgZXh0ZW5kcyBSb3V0ZUxvYWRlciB7XG4gIGNvbnN0cnVjdG9yKGNvbXBvc2l0aW9uRW5naW5lKXtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY29tcG9zaXRpb25FbmdpbmUgPSBjb21wb3NpdGlvbkVuZ2luZTtcbiAgfVxuXG4gIGxvYWRSb3V0ZShyb3V0ZXIsIGNvbmZpZyl7XG4gICAgdmFyIGNoaWxkQ29udGFpbmVyID0gcm91dGVyLmNvbnRhaW5lci5jcmVhdGVDaGlsZCgpLFxuICAgICAgICBpbnN0cnVjdGlvbiA9IHtcbiAgICAgICAgICB2aWV3TW9kZWw6IHJlbGF0aXZlVG9GaWxlKGNvbmZpZy5tb2R1bGVJZCwgT3JpZ2luLmdldChyb3V0ZXIuY29udGFpbmVyLnZpZXdNb2RlbC5jb25zdHJ1Y3RvcikubW9kdWxlSWQpLFxuICAgICAgICAgIGNoaWxkQ29udGFpbmVyOmNoaWxkQ29udGFpbmVyLFxuICAgICAgICAgIHZpZXc6Y29uZmlnLnZpZXcgfHwgY29uZmlnLnZpZXdTdHJhdGVneVxuICAgICAgICB9O1xuXG4gICAgY2hpbGRDb250YWluZXIuZ2V0Q2hpbGRSb3V0ZXIgPSBmdW5jdGlvbigpe1xuICAgICAgdmFyIGNoaWxkUm91dGVyO1xuXG4gICAgICBjaGlsZENvbnRhaW5lci5yZWdpc3RlckhhbmRsZXIoUm91dGVyLCBjID0+IHtcbiAgICAgICAgcmV0dXJuIGNoaWxkUm91dGVyIHx8IChjaGlsZFJvdXRlciA9IHJvdXRlci5jcmVhdGVDaGlsZChjaGlsZENvbnRhaW5lcikpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBjaGlsZENvbnRhaW5lci5nZXQoUm91dGVyKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuY29tcG9zaXRpb25FbmdpbmUuY3JlYXRlVmlld01vZGVsKGluc3RydWN0aW9uKS50aGVuKGluc3RydWN0aW9uID0+IHtcbiAgICAgIGluc3RydWN0aW9uLmV4ZWN1dGlvbkNvbnRleHQgPSBpbnN0cnVjdGlvbi52aWV3TW9kZWw7XG4gICAgICBpbnN0cnVjdGlvbi5yb3V0ZXIgPSByb3V0ZXI7XG4gICAgICByZXR1cm4gaW5zdHJ1Y3Rpb247XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== |