diff --git a/bower.json b/bower.json
index d7354d99..4cf4c995 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "aurelia-router",
- "version": "1.0.7",
+ "version": "1.1.0",
"description": "A powerful client-side router.",
"keywords": [
"aurelia",
diff --git a/dist/amd/aurelia-router.js b/dist/amd/aurelia-router.js
index 9585bfca..4e63669f 100644
--- a/dist/amd/aurelia-router.js
+++ b/dist/amd/aurelia-router.js
@@ -377,9 +377,13 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
NavigationInstruction.prototype._buildTitle = function _buildTitle() {
var separator = arguments.length <= 0 || arguments[0] === undefined ? ' | ' : arguments[0];
- var title = this.config.navModel.title || '';
+ var title = '';
var childTitles = [];
+ if (this.config.navModel.title) {
+ title = this.router.transformTitle(this.config.navModel.title);
+ }
+
for (var viewPortName in this.viewPortInstructions) {
var _viewPortInstruction = this.viewPortInstructions[viewPortName];
@@ -396,7 +400,7 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
}
if (this.router.title) {
- title += (title ? separator : '') + this.router.title;
+ title += (title ? separator : '') + this.router.transformTitle(this.router.title);
}
return title;
@@ -518,6 +522,11 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
return this.addPipelineStep('postRender', step);
};
+ RouterConfiguration.prototype.fallbackRoute = function fallbackRoute(fragment) {
+ this._fallbackRoute = fragment;
+ return this;
+ };
+
RouterConfiguration.prototype.map = function map(route) {
if (Array.isArray(route)) {
route.forEach(this.map.bind(this));
@@ -575,6 +584,10 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
router.handleUnknownRoutes(this.unknownRouteConfig);
}
+ if (this._fallbackRoute) {
+ router.fallbackRoute = this._fallbackRoute;
+ }
+
router.options = this.options;
var pipelineSteps = this.pipelineSteps;
@@ -758,18 +771,27 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
var Router = exports.Router = function () {
function Router(container, history) {
+ var _this2 = this;
+
this.parent = null;
this.options = {};
+ this.transformTitle = function (title) {
+ if (_this2.parent) {
+ return _this2.parent.transformTitle(title);
+ }
+ return title;
+ };
+
this.container = container;
this.history = history;
this.reset();
}
Router.prototype.reset = function reset() {
- var _this2 = this;
+ var _this3 = this;
this.viewPorts = {};
this.routes = [];
@@ -782,7 +804,7 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
this._recognizer = new _aureliaRouteRecognizer.RouteRecognizer();
this._childRecognizer = new _aureliaRouteRecognizer.RouteRecognizer();
this._configuredPromise = new Promise(function (resolve) {
- _this2._resolveConfiguredPromise = resolve;
+ _this3._resolveConfiguredPromise = resolve;
});
};
@@ -796,7 +818,7 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
};
Router.prototype.configure = function configure(callbackOrConfig) {
- var _this3 = this;
+ var _this4 = this;
this.isConfigured = true;
@@ -812,9 +834,9 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
config = c;
}
- config.exportToRouter(_this3);
- _this3.isConfigured = true;
- _this3._resolveConfiguredPromise();
+ config.exportToRouter(_this4);
+ _this4.isConfigured = true;
+ _this4._resolveConfiguredPromise();
});
};
@@ -939,14 +961,14 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
};
Router.prototype.handleUnknownRoutes = function handleUnknownRoutes(config) {
- var _this4 = this;
+ var _this5 = this;
if (!config) {
throw new Error('Invalid unknown route handler');
}
this.catchAllHandler = function (instruction) {
- return _this4._createRouteConfig(config, instruction).then(function (c) {
+ return _this5._createRouteConfig(config, instruction).then(function (c) {
instruction.config = c;
return instruction;
});
@@ -1040,7 +1062,7 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
};
Router.prototype._createRouteConfig = function _createRouteConfig(config, instruction) {
- var _this5 = this;
+ var _this6 = this;
return Promise.resolve(config).then(function (c) {
if (typeof c === 'string') {
@@ -1054,10 +1076,10 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
return typeof c === 'string' ? { moduleId: c } : c;
}).then(function (c) {
c.route = instruction.params.path;
- validateRouteConfig(c, _this5.routes);
+ validateRouteConfig(c, _this6.routes);
if (!c.navModel) {
- c.navModel = _this5.createNavModel(c);
+ c.navModel = _this6.createNavModel(c);
}
return c;
@@ -1520,10 +1542,10 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
}
PipelineSlot.prototype.getSteps = function getSteps() {
- var _this6 = this;
+ var _this7 = this;
return this.steps.map(function (x) {
- return _this6.container.get(x);
+ return _this7.container.get(x);
});
};
@@ -1543,11 +1565,11 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
}
PipelineProvider.prototype.createPipeline = function createPipeline() {
- var _this7 = this;
+ var _this8 = this;
var pipeline = new Pipeline();
this.steps.forEach(function (step) {
- return pipeline.addStep(_this7.container.get(step));
+ return pipeline.addStep(_this8.container.get(step));
});
return pipeline;
};
@@ -1611,11 +1633,11 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
function AppRouter(container, history, pipelineProvider, events) {
- var _this8 = _possibleConstructorReturn(this, _Router.call(this, container, history));
+ var _this9 = _possibleConstructorReturn(this, _Router.call(this, container, history));
- _this8.pipelineProvider = pipelineProvider;
- _this8.events = events;
- return _this8;
+ _this9.pipelineProvider = pipelineProvider;
+ _this9.events = events;
+ return _this9;
}
AppRouter.prototype.reset = function reset() {
@@ -1629,35 +1651,35 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
};
AppRouter.prototype.loadUrl = function loadUrl(url) {
- var _this9 = this;
+ var _this10 = this;
return this._createNavigationInstruction(url).then(function (instruction) {
- return _this9._queueInstruction(instruction);
+ return _this10._queueInstruction(instruction);
}).catch(function (error) {
logger.error(error);
- restorePreviousLocation(_this9);
+ restorePreviousLocation(_this10);
});
};
AppRouter.prototype.registerViewPort = function registerViewPort(viewPort, name) {
- var _this10 = this;
+ var _this11 = this;
_Router.prototype.registerViewPort.call(this, viewPort, name);
if (!this.isActive) {
var _ret6 = function () {
- var viewModel = _this10._findViewModel(viewPort);
+ var viewModel = _this11._findViewModel(viewPort);
if ('configureRouter' in viewModel) {
- if (!_this10.isConfigured) {
+ if (!_this11.isConfigured) {
var _ret7 = function () {
- var resolveConfiguredPromise = _this10._resolveConfiguredPromise;
- _this10._resolveConfiguredPromise = function () {};
+ var resolveConfiguredPromise = _this11._resolveConfiguredPromise;
+ _this11._resolveConfiguredPromise = function () {};
return {
v: {
- v: _this10.configure(function (config) {
- return viewModel.configureRouter(config, _this10);
+ v: _this11.configure(function (config) {
+ return viewModel.configureRouter(config, _this11);
}).then(function () {
- _this10.activate();
+ _this11.activate();
resolveConfiguredPromise();
})
}
@@ -1667,7 +1689,7 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
if ((typeof _ret7 === 'undefined' ? 'undefined' : _typeof(_ret7)) === "object") return _ret7.v;
}
} else {
- _this10.activate();
+ _this11.activate();
}
}();
@@ -1696,53 +1718,53 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
};
AppRouter.prototype._queueInstruction = function _queueInstruction(instruction) {
- var _this11 = this;
+ var _this12 = this;
return new Promise(function (resolve) {
instruction.resolve = resolve;
- _this11._queue.unshift(instruction);
- _this11._dequeueInstruction();
+ _this12._queue.unshift(instruction);
+ _this12._dequeueInstruction();
});
};
AppRouter.prototype._dequeueInstruction = function _dequeueInstruction() {
- var _this12 = this;
+ var _this13 = this;
var instructionCount = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
return Promise.resolve().then(function () {
- if (_this12.isNavigating && !instructionCount) {
+ if (_this13.isNavigating && !instructionCount) {
return undefined;
}
- var instruction = _this12._queue.shift();
- _this12._queue.length = 0;
+ var instruction = _this13._queue.shift();
+ _this13._queue.length = 0;
if (!instruction) {
return undefined;
}
- _this12.isNavigating = true;
- instruction.previousInstruction = _this12.currentInstruction;
+ _this13.isNavigating = true;
+ instruction.previousInstruction = _this13.currentInstruction;
if (!instructionCount) {
- _this12.events.publish('router:navigation:processing', { instruction: instruction });
- } else if (instructionCount === _this12.maxInstructionCount - 1) {
+ _this13.events.publish('router:navigation:processing', { instruction: instruction });
+ } else if (instructionCount === _this13.maxInstructionCount - 1) {
logger.error(instructionCount + 1 + ' navigation instructions have been attempted without success. Restoring last known good location.');
- restorePreviousLocation(_this12);
- return _this12._dequeueInstruction(instructionCount + 1);
- } else if (instructionCount > _this12.maxInstructionCount) {
+ restorePreviousLocation(_this13);
+ return _this13._dequeueInstruction(instructionCount + 1);
+ } else if (instructionCount > _this13.maxInstructionCount) {
throw new Error('Maximum navigation attempts exceeded. Giving up.');
}
- var pipeline = _this12.pipelineProvider.createPipeline();
+ var pipeline = _this13.pipelineProvider.createPipeline();
return pipeline.run(instruction).then(function (result) {
- return processResult(instruction, result, instructionCount, _this12);
+ return processResult(instruction, result, instructionCount, _this13);
}).catch(function (error) {
return { output: error instanceof Error ? error : new Error(error) };
}).then(function (result) {
- return resolveInstruction(instruction, result, !!instructionCount, _this12);
+ return resolveInstruction(instruction, result, !!instructionCount, _this13);
});
});
};
@@ -1826,8 +1848,10 @@ define(['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depen
var previousLocation = router.history.previousLocation;
if (previousLocation) {
router.navigate(router.history.previousLocation, { trigger: false, replace: true });
+ } else if (router.fallbackRoute) {
+ router.navigate(router.fallbackRoute, { trigger: true, replace: true });
} else {
- logger.error('Router navigation failed, and no previous location could be restored.');
+ logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');
}
}
});
\ No newline at end of file
diff --git a/dist/aurelia-router.d.ts b/dist/aurelia-router.d.ts
index b647efd4..1eb7f41d 100644
--- a/dist/aurelia-router.d.ts
+++ b/dist/aurelia-router.d.ts
@@ -578,6 +578,14 @@ export declare class RouterConfiguration {
*/
addPostRenderStep(step: Function | PipelineStep): RouterConfiguration;
+ /**
+ * Configures a route that will be used if there is no previous location available on navigation cancellation.
+ *
+ * @param fragment The URL fragment to use as the navigation destination.
+ * @chainable
+ */
+ fallbackRoute(fragment: string): RouterConfiguration;
+
/**
* Maps one or more routes to be registered with the router.
*
@@ -662,6 +670,13 @@ export declare class Router {
parent: Router;
options: any;
+ /**
+ * Extension point to transform the document title before it is built and displayed.
+ * By default, child routers delegate to the parent router, and the app router
+ * returns the title unchanged.
+ */
+ transformTitle: ((title: string) => string);
+
/**
* @param container The [[Container]] to use when child routers.
* @param history The [[History]] implementation to delegate navigation requests to.
diff --git a/dist/aurelia-router.js b/dist/aurelia-router.js
index 7716201f..a9d59b56 100644
--- a/dist/aurelia-router.js
+++ b/dist/aurelia-router.js
@@ -420,9 +420,13 @@ export class NavigationInstruction {
}
_buildTitle(separator: string = ' | '): string {
- let title = this.config.navModel.title || '';
+ let title = '';
let childTitles = [];
+ if (this.config.navModel.title) {
+ title = this.router.transformTitle(this.config.navModel.title);
+ }
+
for (let viewPortName in this.viewPortInstructions) {
let viewPortInstruction = this.viewPortInstructions[viewPortName];
@@ -439,7 +443,7 @@ export class NavigationInstruction {
}
if (this.router.title) {
- title += (title ? separator : '') + this.router.title;
+ title += (title ? separator : '') + this.router.transformTitle(this.router.title);
}
return title;
@@ -816,6 +820,17 @@ export class RouterConfiguration {
return this.addPipelineStep('postRender', step);
}
+ /**
+ * Configures a route that will be used if there is no previous location available on navigation cancellation.
+ *
+ * @param fragment The URL fragment to use as the navigation destination.
+ * @chainable
+ */
+ fallbackRoute(fragment: string): RouterConfiguration {
+ this._fallbackRoute = fragment;
+ return this;
+ }
+
/**
* Maps one or more routes to be registered with the router.
*
@@ -897,6 +912,10 @@ export class RouterConfiguration {
router.handleUnknownRoutes(this.unknownRouteConfig);
}
+ if (this._fallbackRoute) {
+ router.fallbackRoute = this._fallbackRoute;
+ }
+
router.options = this.options;
let pipelineSteps = this.pipelineSteps;
@@ -1112,6 +1131,18 @@ export class Router {
options: any = {};
+ /**
+ * Extension point to transform the document title before it is built and displayed.
+ * By default, child routers delegate to the parent router, and the app router
+ * returns the title unchanged.
+ */
+ transformTitle: (title: string) => string = (title: string) => {
+ if (this.parent) {
+ return this.parent.transformTitle(title);
+ }
+ return title;
+ };
+
/**
* @param container The [[Container]] to use when child routers.
* @param history The [[History]] implementation to delegate navigation requests to.
@@ -2211,7 +2242,9 @@ function restorePreviousLocation(router) {
let previousLocation = router.history.previousLocation;
if (previousLocation) {
router.navigate(router.history.previousLocation, { trigger: false, replace: true });
+ } else if (router.fallbackRoute) {
+ router.navigate(router.fallbackRoute, { trigger: true, replace: true });
} else {
- logger.error('Router navigation failed, and no previous location could be restored.');
+ logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');
}
}
diff --git a/dist/commonjs/aurelia-router.js b/dist/commonjs/aurelia-router.js
index 1e192310..8bf98685 100644
--- a/dist/commonjs/aurelia-router.js
+++ b/dist/commonjs/aurelia-router.js
@@ -332,9 +332,13 @@ var NavigationInstruction = exports.NavigationInstruction = function () {
NavigationInstruction.prototype._buildTitle = function _buildTitle() {
var separator = arguments.length <= 0 || arguments[0] === undefined ? ' | ' : arguments[0];
- var title = this.config.navModel.title || '';
+ var title = '';
var childTitles = [];
+ if (this.config.navModel.title) {
+ title = this.router.transformTitle(this.config.navModel.title);
+ }
+
for (var viewPortName in this.viewPortInstructions) {
var _viewPortInstruction = this.viewPortInstructions[viewPortName];
@@ -351,7 +355,7 @@ var NavigationInstruction = exports.NavigationInstruction = function () {
}
if (this.router.title) {
- title += (title ? separator : '') + this.router.title;
+ title += (title ? separator : '') + this.router.transformTitle(this.router.title);
}
return title;
@@ -473,6 +477,11 @@ var RouterConfiguration = exports.RouterConfiguration = function () {
return this.addPipelineStep('postRender', step);
};
+ RouterConfiguration.prototype.fallbackRoute = function fallbackRoute(fragment) {
+ this._fallbackRoute = fragment;
+ return this;
+ };
+
RouterConfiguration.prototype.map = function map(route) {
if (Array.isArray(route)) {
route.forEach(this.map.bind(this));
@@ -530,6 +539,10 @@ var RouterConfiguration = exports.RouterConfiguration = function () {
router.handleUnknownRoutes(this.unknownRouteConfig);
}
+ if (this._fallbackRoute) {
+ router.fallbackRoute = this._fallbackRoute;
+ }
+
router.options = this.options;
var pipelineSteps = this.pipelineSteps;
@@ -713,18 +726,27 @@ function getInstructionBaseUrl(instruction) {
var Router = exports.Router = function () {
function Router(container, history) {
+ var _this2 = this;
+
this.parent = null;
this.options = {};
+ this.transformTitle = function (title) {
+ if (_this2.parent) {
+ return _this2.parent.transformTitle(title);
+ }
+ return title;
+ };
+
this.container = container;
this.history = history;
this.reset();
}
Router.prototype.reset = function reset() {
- var _this2 = this;
+ var _this3 = this;
this.viewPorts = {};
this.routes = [];
@@ -737,7 +759,7 @@ var Router = exports.Router = function () {
this._recognizer = new _aureliaRouteRecognizer.RouteRecognizer();
this._childRecognizer = new _aureliaRouteRecognizer.RouteRecognizer();
this._configuredPromise = new Promise(function (resolve) {
- _this2._resolveConfiguredPromise = resolve;
+ _this3._resolveConfiguredPromise = resolve;
});
};
@@ -751,7 +773,7 @@ var Router = exports.Router = function () {
};
Router.prototype.configure = function configure(callbackOrConfig) {
- var _this3 = this;
+ var _this4 = this;
this.isConfigured = true;
@@ -767,9 +789,9 @@ var Router = exports.Router = function () {
config = c;
}
- config.exportToRouter(_this3);
- _this3.isConfigured = true;
- _this3._resolveConfiguredPromise();
+ config.exportToRouter(_this4);
+ _this4.isConfigured = true;
+ _this4._resolveConfiguredPromise();
});
};
@@ -894,14 +916,14 @@ var Router = exports.Router = function () {
};
Router.prototype.handleUnknownRoutes = function handleUnknownRoutes(config) {
- var _this4 = this;
+ var _this5 = this;
if (!config) {
throw new Error('Invalid unknown route handler');
}
this.catchAllHandler = function (instruction) {
- return _this4._createRouteConfig(config, instruction).then(function (c) {
+ return _this5._createRouteConfig(config, instruction).then(function (c) {
instruction.config = c;
return instruction;
});
@@ -995,7 +1017,7 @@ var Router = exports.Router = function () {
};
Router.prototype._createRouteConfig = function _createRouteConfig(config, instruction) {
- var _this5 = this;
+ var _this6 = this;
return Promise.resolve(config).then(function (c) {
if (typeof c === 'string') {
@@ -1009,10 +1031,10 @@ var Router = exports.Router = function () {
return typeof c === 'string' ? { moduleId: c } : c;
}).then(function (c) {
c.route = instruction.params.path;
- validateRouteConfig(c, _this5.routes);
+ validateRouteConfig(c, _this6.routes);
if (!c.navModel) {
- c.navModel = _this5.createNavModel(c);
+ c.navModel = _this6.createNavModel(c);
}
return c;
@@ -1475,10 +1497,10 @@ var PipelineSlot = function () {
}
PipelineSlot.prototype.getSteps = function getSteps() {
- var _this6 = this;
+ var _this7 = this;
return this.steps.map(function (x) {
- return _this6.container.get(x);
+ return _this7.container.get(x);
});
};
@@ -1498,11 +1520,11 @@ var PipelineProvider = exports.PipelineProvider = function () {
}
PipelineProvider.prototype.createPipeline = function createPipeline() {
- var _this7 = this;
+ var _this8 = this;
var pipeline = new Pipeline();
this.steps.forEach(function (step) {
- return pipeline.addStep(_this7.container.get(step));
+ return pipeline.addStep(_this8.container.get(step));
});
return pipeline;
};
@@ -1566,11 +1588,11 @@ var AppRouter = exports.AppRouter = function (_Router) {
function AppRouter(container, history, pipelineProvider, events) {
- var _this8 = _possibleConstructorReturn(this, _Router.call(this, container, history));
+ var _this9 = _possibleConstructorReturn(this, _Router.call(this, container, history));
- _this8.pipelineProvider = pipelineProvider;
- _this8.events = events;
- return _this8;
+ _this9.pipelineProvider = pipelineProvider;
+ _this9.events = events;
+ return _this9;
}
AppRouter.prototype.reset = function reset() {
@@ -1584,35 +1606,35 @@ var AppRouter = exports.AppRouter = function (_Router) {
};
AppRouter.prototype.loadUrl = function loadUrl(url) {
- var _this9 = this;
+ var _this10 = this;
return this._createNavigationInstruction(url).then(function (instruction) {
- return _this9._queueInstruction(instruction);
+ return _this10._queueInstruction(instruction);
}).catch(function (error) {
logger.error(error);
- restorePreviousLocation(_this9);
+ restorePreviousLocation(_this10);
});
};
AppRouter.prototype.registerViewPort = function registerViewPort(viewPort, name) {
- var _this10 = this;
+ var _this11 = this;
_Router.prototype.registerViewPort.call(this, viewPort, name);
if (!this.isActive) {
var _ret6 = function () {
- var viewModel = _this10._findViewModel(viewPort);
+ var viewModel = _this11._findViewModel(viewPort);
if ('configureRouter' in viewModel) {
- if (!_this10.isConfigured) {
+ if (!_this11.isConfigured) {
var _ret7 = function () {
- var resolveConfiguredPromise = _this10._resolveConfiguredPromise;
- _this10._resolveConfiguredPromise = function () {};
+ var resolveConfiguredPromise = _this11._resolveConfiguredPromise;
+ _this11._resolveConfiguredPromise = function () {};
return {
v: {
- v: _this10.configure(function (config) {
- return viewModel.configureRouter(config, _this10);
+ v: _this11.configure(function (config) {
+ return viewModel.configureRouter(config, _this11);
}).then(function () {
- _this10.activate();
+ _this11.activate();
resolveConfiguredPromise();
})
}
@@ -1622,7 +1644,7 @@ var AppRouter = exports.AppRouter = function (_Router) {
if ((typeof _ret7 === 'undefined' ? 'undefined' : _typeof(_ret7)) === "object") return _ret7.v;
}
} else {
- _this10.activate();
+ _this11.activate();
}
}();
@@ -1651,53 +1673,53 @@ var AppRouter = exports.AppRouter = function (_Router) {
};
AppRouter.prototype._queueInstruction = function _queueInstruction(instruction) {
- var _this11 = this;
+ var _this12 = this;
return new Promise(function (resolve) {
instruction.resolve = resolve;
- _this11._queue.unshift(instruction);
- _this11._dequeueInstruction();
+ _this12._queue.unshift(instruction);
+ _this12._dequeueInstruction();
});
};
AppRouter.prototype._dequeueInstruction = function _dequeueInstruction() {
- var _this12 = this;
+ var _this13 = this;
var instructionCount = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
return Promise.resolve().then(function () {
- if (_this12.isNavigating && !instructionCount) {
+ if (_this13.isNavigating && !instructionCount) {
return undefined;
}
- var instruction = _this12._queue.shift();
- _this12._queue.length = 0;
+ var instruction = _this13._queue.shift();
+ _this13._queue.length = 0;
if (!instruction) {
return undefined;
}
- _this12.isNavigating = true;
- instruction.previousInstruction = _this12.currentInstruction;
+ _this13.isNavigating = true;
+ instruction.previousInstruction = _this13.currentInstruction;
if (!instructionCount) {
- _this12.events.publish('router:navigation:processing', { instruction: instruction });
- } else if (instructionCount === _this12.maxInstructionCount - 1) {
+ _this13.events.publish('router:navigation:processing', { instruction: instruction });
+ } else if (instructionCount === _this13.maxInstructionCount - 1) {
logger.error(instructionCount + 1 + ' navigation instructions have been attempted without success. Restoring last known good location.');
- restorePreviousLocation(_this12);
- return _this12._dequeueInstruction(instructionCount + 1);
- } else if (instructionCount > _this12.maxInstructionCount) {
+ restorePreviousLocation(_this13);
+ return _this13._dequeueInstruction(instructionCount + 1);
+ } else if (instructionCount > _this13.maxInstructionCount) {
throw new Error('Maximum navigation attempts exceeded. Giving up.');
}
- var pipeline = _this12.pipelineProvider.createPipeline();
+ var pipeline = _this13.pipelineProvider.createPipeline();
return pipeline.run(instruction).then(function (result) {
- return processResult(instruction, result, instructionCount, _this12);
+ return processResult(instruction, result, instructionCount, _this13);
}).catch(function (error) {
return { output: error instanceof Error ? error : new Error(error) };
}).then(function (result) {
- return resolveInstruction(instruction, result, !!instructionCount, _this12);
+ return resolveInstruction(instruction, result, !!instructionCount, _this13);
});
});
};
@@ -1781,7 +1803,9 @@ function restorePreviousLocation(router) {
var previousLocation = router.history.previousLocation;
if (previousLocation) {
router.navigate(router.history.previousLocation, { trigger: false, replace: true });
+ } else if (router.fallbackRoute) {
+ router.navigate(router.fallbackRoute, { trigger: true, replace: true });
} else {
- logger.error('Router navigation failed, and no previous location could be restored.');
+ logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');
}
}
\ No newline at end of file
diff --git a/dist/es2015/aurelia-router.js b/dist/es2015/aurelia-router.js
index d25518a9..59ab098a 100644
--- a/dist/es2015/aurelia-router.js
+++ b/dist/es2015/aurelia-router.js
@@ -272,9 +272,13 @@ export let NavigationInstruction = class NavigationInstruction {
}
_buildTitle(separator = ' | ') {
- let title = this.config.navModel.title || '';
+ let title = '';
let childTitles = [];
+ if (this.config.navModel.title) {
+ title = this.router.transformTitle(this.config.navModel.title);
+ }
+
for (let viewPortName in this.viewPortInstructions) {
let viewPortInstruction = this.viewPortInstructions[viewPortName];
@@ -291,7 +295,7 @@ export let NavigationInstruction = class NavigationInstruction {
}
if (this.router.title) {
- title += (title ? separator : '') + this.router.title;
+ title += (title ? separator : '') + this.router.transformTitle(this.router.title);
}
return title;
@@ -393,6 +397,11 @@ export let RouterConfiguration = class RouterConfiguration {
return this.addPipelineStep('postRender', step);
}
+ fallbackRoute(fragment) {
+ this._fallbackRoute = fragment;
+ return this;
+ }
+
map(route) {
if (Array.isArray(route)) {
route.forEach(this.map.bind(this));
@@ -450,6 +459,10 @@ export let RouterConfiguration = class RouterConfiguration {
router.handleUnknownRoutes(this.unknownRouteConfig);
}
+ if (this._fallbackRoute) {
+ router.fallbackRoute = this._fallbackRoute;
+ }
+
router.options = this.options;
let pipelineSteps = this.pipelineSteps;
@@ -617,6 +630,13 @@ export let Router = class Router {
this.parent = null;
this.options = {};
+ this.transformTitle = title => {
+ if (this.parent) {
+ return this.parent.transformTitle(title);
+ }
+ return title;
+ };
+
this.container = container;
this.history = history;
this.reset();
@@ -1520,7 +1540,9 @@ function restorePreviousLocation(router) {
let previousLocation = router.history.previousLocation;
if (previousLocation) {
router.navigate(router.history.previousLocation, { trigger: false, replace: true });
+ } else if (router.fallbackRoute) {
+ router.navigate(router.fallbackRoute, { trigger: true, replace: true });
} else {
- logger.error('Router navigation failed, and no previous location could be restored.');
+ logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');
}
}
\ No newline at end of file
diff --git a/dist/native-modules/aurelia-router.js b/dist/native-modules/aurelia-router.js
index c705e290..35fe7b87 100644
--- a/dist/native-modules/aurelia-router.js
+++ b/dist/native-modules/aurelia-router.js
@@ -311,9 +311,13 @@ export var NavigationInstruction = function () {
NavigationInstruction.prototype._buildTitle = function _buildTitle() {
var separator = arguments.length <= 0 || arguments[0] === undefined ? ' | ' : arguments[0];
- var title = this.config.navModel.title || '';
+ var title = '';
var childTitles = [];
+ if (this.config.navModel.title) {
+ title = this.router.transformTitle(this.config.navModel.title);
+ }
+
for (var viewPortName in this.viewPortInstructions) {
var _viewPortInstruction = this.viewPortInstructions[viewPortName];
@@ -330,7 +334,7 @@ export var NavigationInstruction = function () {
}
if (this.router.title) {
- title += (title ? separator : '') + this.router.title;
+ title += (title ? separator : '') + this.router.transformTitle(this.router.title);
}
return title;
@@ -452,6 +456,11 @@ export var RouterConfiguration = function () {
return this.addPipelineStep('postRender', step);
};
+ RouterConfiguration.prototype.fallbackRoute = function fallbackRoute(fragment) {
+ this._fallbackRoute = fragment;
+ return this;
+ };
+
RouterConfiguration.prototype.map = function map(route) {
if (Array.isArray(route)) {
route.forEach(this.map.bind(this));
@@ -509,6 +518,10 @@ export var RouterConfiguration = function () {
router.handleUnknownRoutes(this.unknownRouteConfig);
}
+ if (this._fallbackRoute) {
+ router.fallbackRoute = this._fallbackRoute;
+ }
+
router.options = this.options;
var pipelineSteps = this.pipelineSteps;
@@ -692,18 +705,27 @@ function getInstructionBaseUrl(instruction) {
export var Router = function () {
function Router(container, history) {
+ var _this2 = this;
+
this.parent = null;
this.options = {};
+ this.transformTitle = function (title) {
+ if (_this2.parent) {
+ return _this2.parent.transformTitle(title);
+ }
+ return title;
+ };
+
this.container = container;
this.history = history;
this.reset();
}
Router.prototype.reset = function reset() {
- var _this2 = this;
+ var _this3 = this;
this.viewPorts = {};
this.routes = [];
@@ -716,7 +738,7 @@ export var Router = function () {
this._recognizer = new RouteRecognizer();
this._childRecognizer = new RouteRecognizer();
this._configuredPromise = new Promise(function (resolve) {
- _this2._resolveConfiguredPromise = resolve;
+ _this3._resolveConfiguredPromise = resolve;
});
};
@@ -730,7 +752,7 @@ export var Router = function () {
};
Router.prototype.configure = function configure(callbackOrConfig) {
- var _this3 = this;
+ var _this4 = this;
this.isConfigured = true;
@@ -746,9 +768,9 @@ export var Router = function () {
config = c;
}
- config.exportToRouter(_this3);
- _this3.isConfigured = true;
- _this3._resolveConfiguredPromise();
+ config.exportToRouter(_this4);
+ _this4.isConfigured = true;
+ _this4._resolveConfiguredPromise();
});
};
@@ -873,14 +895,14 @@ export var Router = function () {
};
Router.prototype.handleUnknownRoutes = function handleUnknownRoutes(config) {
- var _this4 = this;
+ var _this5 = this;
if (!config) {
throw new Error('Invalid unknown route handler');
}
this.catchAllHandler = function (instruction) {
- return _this4._createRouteConfig(config, instruction).then(function (c) {
+ return _this5._createRouteConfig(config, instruction).then(function (c) {
instruction.config = c;
return instruction;
});
@@ -974,7 +996,7 @@ export var Router = function () {
};
Router.prototype._createRouteConfig = function _createRouteConfig(config, instruction) {
- var _this5 = this;
+ var _this6 = this;
return Promise.resolve(config).then(function (c) {
if (typeof c === 'string') {
@@ -988,10 +1010,10 @@ export var Router = function () {
return typeof c === 'string' ? { moduleId: c } : c;
}).then(function (c) {
c.route = instruction.params.path;
- validateRouteConfig(c, _this5.routes);
+ validateRouteConfig(c, _this6.routes);
if (!c.navModel) {
- c.navModel = _this5.createNavModel(c);
+ c.navModel = _this6.createNavModel(c);
}
return c;
@@ -1454,10 +1476,10 @@ var PipelineSlot = function () {
}
PipelineSlot.prototype.getSteps = function getSteps() {
- var _this6 = this;
+ var _this7 = this;
return this.steps.map(function (x) {
- return _this6.container.get(x);
+ return _this7.container.get(x);
});
};
@@ -1477,11 +1499,11 @@ export var PipelineProvider = function () {
}
PipelineProvider.prototype.createPipeline = function createPipeline() {
- var _this7 = this;
+ var _this8 = this;
var pipeline = new Pipeline();
this.steps.forEach(function (step) {
- return pipeline.addStep(_this7.container.get(step));
+ return pipeline.addStep(_this8.container.get(step));
});
return pipeline;
};
@@ -1545,11 +1567,11 @@ export var AppRouter = function (_Router) {
function AppRouter(container, history, pipelineProvider, events) {
- var _this8 = _possibleConstructorReturn(this, _Router.call(this, container, history));
+ var _this9 = _possibleConstructorReturn(this, _Router.call(this, container, history));
- _this8.pipelineProvider = pipelineProvider;
- _this8.events = events;
- return _this8;
+ _this9.pipelineProvider = pipelineProvider;
+ _this9.events = events;
+ return _this9;
}
AppRouter.prototype.reset = function reset() {
@@ -1563,35 +1585,35 @@ export var AppRouter = function (_Router) {
};
AppRouter.prototype.loadUrl = function loadUrl(url) {
- var _this9 = this;
+ var _this10 = this;
return this._createNavigationInstruction(url).then(function (instruction) {
- return _this9._queueInstruction(instruction);
+ return _this10._queueInstruction(instruction);
}).catch(function (error) {
logger.error(error);
- restorePreviousLocation(_this9);
+ restorePreviousLocation(_this10);
});
};
AppRouter.prototype.registerViewPort = function registerViewPort(viewPort, name) {
- var _this10 = this;
+ var _this11 = this;
_Router.prototype.registerViewPort.call(this, viewPort, name);
if (!this.isActive) {
var _ret6 = function () {
- var viewModel = _this10._findViewModel(viewPort);
+ var viewModel = _this11._findViewModel(viewPort);
if ('configureRouter' in viewModel) {
- if (!_this10.isConfigured) {
+ if (!_this11.isConfigured) {
var _ret7 = function () {
- var resolveConfiguredPromise = _this10._resolveConfiguredPromise;
- _this10._resolveConfiguredPromise = function () {};
+ var resolveConfiguredPromise = _this11._resolveConfiguredPromise;
+ _this11._resolveConfiguredPromise = function () {};
return {
v: {
- v: _this10.configure(function (config) {
- return viewModel.configureRouter(config, _this10);
+ v: _this11.configure(function (config) {
+ return viewModel.configureRouter(config, _this11);
}).then(function () {
- _this10.activate();
+ _this11.activate();
resolveConfiguredPromise();
})
}
@@ -1601,7 +1623,7 @@ export var AppRouter = function (_Router) {
if ((typeof _ret7 === 'undefined' ? 'undefined' : _typeof(_ret7)) === "object") return _ret7.v;
}
} else {
- _this10.activate();
+ _this11.activate();
}
}();
@@ -1630,53 +1652,53 @@ export var AppRouter = function (_Router) {
};
AppRouter.prototype._queueInstruction = function _queueInstruction(instruction) {
- var _this11 = this;
+ var _this12 = this;
return new Promise(function (resolve) {
instruction.resolve = resolve;
- _this11._queue.unshift(instruction);
- _this11._dequeueInstruction();
+ _this12._queue.unshift(instruction);
+ _this12._dequeueInstruction();
});
};
AppRouter.prototype._dequeueInstruction = function _dequeueInstruction() {
- var _this12 = this;
+ var _this13 = this;
var instructionCount = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
return Promise.resolve().then(function () {
- if (_this12.isNavigating && !instructionCount) {
+ if (_this13.isNavigating && !instructionCount) {
return undefined;
}
- var instruction = _this12._queue.shift();
- _this12._queue.length = 0;
+ var instruction = _this13._queue.shift();
+ _this13._queue.length = 0;
if (!instruction) {
return undefined;
}
- _this12.isNavigating = true;
- instruction.previousInstruction = _this12.currentInstruction;
+ _this13.isNavigating = true;
+ instruction.previousInstruction = _this13.currentInstruction;
if (!instructionCount) {
- _this12.events.publish('router:navigation:processing', { instruction: instruction });
- } else if (instructionCount === _this12.maxInstructionCount - 1) {
+ _this13.events.publish('router:navigation:processing', { instruction: instruction });
+ } else if (instructionCount === _this13.maxInstructionCount - 1) {
logger.error(instructionCount + 1 + ' navigation instructions have been attempted without success. Restoring last known good location.');
- restorePreviousLocation(_this12);
- return _this12._dequeueInstruction(instructionCount + 1);
- } else if (instructionCount > _this12.maxInstructionCount) {
+ restorePreviousLocation(_this13);
+ return _this13._dequeueInstruction(instructionCount + 1);
+ } else if (instructionCount > _this13.maxInstructionCount) {
throw new Error('Maximum navigation attempts exceeded. Giving up.');
}
- var pipeline = _this12.pipelineProvider.createPipeline();
+ var pipeline = _this13.pipelineProvider.createPipeline();
return pipeline.run(instruction).then(function (result) {
- return processResult(instruction, result, instructionCount, _this12);
+ return processResult(instruction, result, instructionCount, _this13);
}).catch(function (error) {
return { output: error instanceof Error ? error : new Error(error) };
}).then(function (result) {
- return resolveInstruction(instruction, result, !!instructionCount, _this12);
+ return resolveInstruction(instruction, result, !!instructionCount, _this13);
});
});
};
@@ -1760,7 +1782,9 @@ function restorePreviousLocation(router) {
var previousLocation = router.history.previousLocation;
if (previousLocation) {
router.navigate(router.history.previousLocation, { trigger: false, replace: true });
+ } else if (router.fallbackRoute) {
+ router.navigate(router.fallbackRoute, { trigger: true, replace: true });
} else {
- logger.error('Router navigation failed, and no previous location could be restored.');
+ logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');
}
}
\ No newline at end of file
diff --git a/dist/system/aurelia-router.js b/dist/system/aurelia-router.js
index 9c316171..16788fba 100644
--- a/dist/system/aurelia-router.js
+++ b/dist/system/aurelia-router.js
@@ -625,8 +625,10 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
var previousLocation = router.history.previousLocation;
if (previousLocation) {
router.navigate(router.history.previousLocation, { trigger: false, replace: true });
+ } else if (router.fallbackRoute) {
+ router.navigate(router.fallbackRoute, { trigger: true, replace: true });
} else {
- logger.error('Router navigation failed, and no previous location could be restored.');
+ logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');
}
}
return {
@@ -917,9 +919,13 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
NavigationInstruction.prototype._buildTitle = function _buildTitle() {
var separator = arguments.length <= 0 || arguments[0] === undefined ? ' | ' : arguments[0];
- var title = this.config.navModel.title || '';
+ var title = '';
var childTitles = [];
+ if (this.config.navModel.title) {
+ title = this.router.transformTitle(this.config.navModel.title);
+ }
+
for (var viewPortName in this.viewPortInstructions) {
var _viewPortInstruction = this.viewPortInstructions[viewPortName];
@@ -936,7 +942,7 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
}
if (this.router.title) {
- title += (title ? separator : '') + this.router.title;
+ title += (title ? separator : '') + this.router.transformTitle(this.router.title);
}
return title;
@@ -1057,6 +1063,11 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
return this.addPipelineStep('postRender', step);
};
+ RouterConfiguration.prototype.fallbackRoute = function fallbackRoute(fragment) {
+ this._fallbackRoute = fragment;
+ return this;
+ };
+
RouterConfiguration.prototype.map = function map(route) {
if (Array.isArray(route)) {
route.forEach(this.map.bind(this));
@@ -1114,6 +1125,10 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
router.handleUnknownRoutes(this.unknownRouteConfig);
}
+ if (this._fallbackRoute) {
+ router.fallbackRoute = this._fallbackRoute;
+ }
+
router.options = this.options;
var pipelineSteps = this.pipelineSteps;
@@ -1165,18 +1180,27 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
_export('Router', Router = function () {
function Router(container, history) {
+ var _this2 = this;
+
this.parent = null;
this.options = {};
+ this.transformTitle = function (title) {
+ if (_this2.parent) {
+ return _this2.parent.transformTitle(title);
+ }
+ return title;
+ };
+
this.container = container;
this.history = history;
this.reset();
}
Router.prototype.reset = function reset() {
- var _this2 = this;
+ var _this3 = this;
this.viewPorts = {};
this.routes = [];
@@ -1189,7 +1213,7 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
this._recognizer = new RouteRecognizer();
this._childRecognizer = new RouteRecognizer();
this._configuredPromise = new Promise(function (resolve) {
- _this2._resolveConfiguredPromise = resolve;
+ _this3._resolveConfiguredPromise = resolve;
});
};
@@ -1203,7 +1227,7 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
};
Router.prototype.configure = function configure(callbackOrConfig) {
- var _this3 = this;
+ var _this4 = this;
this.isConfigured = true;
@@ -1219,9 +1243,9 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
config = c;
}
- config.exportToRouter(_this3);
- _this3.isConfigured = true;
- _this3._resolveConfiguredPromise();
+ config.exportToRouter(_this4);
+ _this4.isConfigured = true;
+ _this4._resolveConfiguredPromise();
});
};
@@ -1346,14 +1370,14 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
};
Router.prototype.handleUnknownRoutes = function handleUnknownRoutes(config) {
- var _this4 = this;
+ var _this5 = this;
if (!config) {
throw new Error('Invalid unknown route handler');
}
this.catchAllHandler = function (instruction) {
- return _this4._createRouteConfig(config, instruction).then(function (c) {
+ return _this5._createRouteConfig(config, instruction).then(function (c) {
instruction.config = c;
return instruction;
});
@@ -1447,7 +1471,7 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
};
Router.prototype._createRouteConfig = function _createRouteConfig(config, instruction) {
- var _this5 = this;
+ var _this6 = this;
return Promise.resolve(config).then(function (c) {
if (typeof c === 'string') {
@@ -1461,10 +1485,10 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
return typeof c === 'string' ? { moduleId: c } : c;
}).then(function (c) {
c.route = instruction.params.path;
- validateRouteConfig(c, _this5.routes);
+ validateRouteConfig(c, _this6.routes);
if (!c.navModel) {
- c.navModel = _this5.createNavModel(c);
+ c.navModel = _this6.createNavModel(c);
}
return c;
@@ -1611,10 +1635,10 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
}
PipelineSlot.prototype.getSteps = function getSteps() {
- var _this6 = this;
+ var _this7 = this;
return this.steps.map(function (x) {
- return _this6.container.get(x);
+ return _this7.container.get(x);
});
};
@@ -1634,11 +1658,11 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
}
PipelineProvider.prototype.createPipeline = function createPipeline() {
- var _this7 = this;
+ var _this8 = this;
var pipeline = new Pipeline();
this.steps.forEach(function (step) {
- return pipeline.addStep(_this7.container.get(step));
+ return pipeline.addStep(_this8.container.get(step));
});
return pipeline;
};
@@ -1704,11 +1728,11 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
function AppRouter(container, history, pipelineProvider, events) {
- var _this8 = _possibleConstructorReturn(this, _Router.call(this, container, history));
+ var _this9 = _possibleConstructorReturn(this, _Router.call(this, container, history));
- _this8.pipelineProvider = pipelineProvider;
- _this8.events = events;
- return _this8;
+ _this9.pipelineProvider = pipelineProvider;
+ _this9.events = events;
+ return _this9;
}
AppRouter.prototype.reset = function reset() {
@@ -1722,35 +1746,35 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
};
AppRouter.prototype.loadUrl = function loadUrl(url) {
- var _this9 = this;
+ var _this10 = this;
return this._createNavigationInstruction(url).then(function (instruction) {
- return _this9._queueInstruction(instruction);
+ return _this10._queueInstruction(instruction);
}).catch(function (error) {
logger.error(error);
- restorePreviousLocation(_this9);
+ restorePreviousLocation(_this10);
});
};
AppRouter.prototype.registerViewPort = function registerViewPort(viewPort, name) {
- var _this10 = this;
+ var _this11 = this;
_Router.prototype.registerViewPort.call(this, viewPort, name);
if (!this.isActive) {
var _ret6 = function () {
- var viewModel = _this10._findViewModel(viewPort);
+ var viewModel = _this11._findViewModel(viewPort);
if ('configureRouter' in viewModel) {
- if (!_this10.isConfigured) {
+ if (!_this11.isConfigured) {
var _ret7 = function () {
- var resolveConfiguredPromise = _this10._resolveConfiguredPromise;
- _this10._resolveConfiguredPromise = function () {};
+ var resolveConfiguredPromise = _this11._resolveConfiguredPromise;
+ _this11._resolveConfiguredPromise = function () {};
return {
v: {
- v: _this10.configure(function (config) {
- return viewModel.configureRouter(config, _this10);
+ v: _this11.configure(function (config) {
+ return viewModel.configureRouter(config, _this11);
}).then(function () {
- _this10.activate();
+ _this11.activate();
resolveConfiguredPromise();
})
}
@@ -1760,7 +1784,7 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
if ((typeof _ret7 === 'undefined' ? 'undefined' : _typeof(_ret7)) === "object") return _ret7.v;
}
} else {
- _this10.activate();
+ _this11.activate();
}
}();
@@ -1789,53 +1813,53 @@ System.register(['aurelia-logging', 'aurelia-route-recognizer', 'aurelia-depende
};
AppRouter.prototype._queueInstruction = function _queueInstruction(instruction) {
- var _this11 = this;
+ var _this12 = this;
return new Promise(function (resolve) {
instruction.resolve = resolve;
- _this11._queue.unshift(instruction);
- _this11._dequeueInstruction();
+ _this12._queue.unshift(instruction);
+ _this12._dequeueInstruction();
});
};
AppRouter.prototype._dequeueInstruction = function _dequeueInstruction() {
- var _this12 = this;
+ var _this13 = this;
var instructionCount = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
return Promise.resolve().then(function () {
- if (_this12.isNavigating && !instructionCount) {
+ if (_this13.isNavigating && !instructionCount) {
return undefined;
}
- var instruction = _this12._queue.shift();
- _this12._queue.length = 0;
+ var instruction = _this13._queue.shift();
+ _this13._queue.length = 0;
if (!instruction) {
return undefined;
}
- _this12.isNavigating = true;
- instruction.previousInstruction = _this12.currentInstruction;
+ _this13.isNavigating = true;
+ instruction.previousInstruction = _this13.currentInstruction;
if (!instructionCount) {
- _this12.events.publish('router:navigation:processing', { instruction: instruction });
- } else if (instructionCount === _this12.maxInstructionCount - 1) {
+ _this13.events.publish('router:navigation:processing', { instruction: instruction });
+ } else if (instructionCount === _this13.maxInstructionCount - 1) {
logger.error(instructionCount + 1 + ' navigation instructions have been attempted without success. Restoring last known good location.');
- restorePreviousLocation(_this12);
- return _this12._dequeueInstruction(instructionCount + 1);
- } else if (instructionCount > _this12.maxInstructionCount) {
+ restorePreviousLocation(_this13);
+ return _this13._dequeueInstruction(instructionCount + 1);
+ } else if (instructionCount > _this13.maxInstructionCount) {
throw new Error('Maximum navigation attempts exceeded. Giving up.');
}
- var pipeline = _this12.pipelineProvider.createPipeline();
+ var pipeline = _this13.pipelineProvider.createPipeline();
return pipeline.run(instruction).then(function (result) {
- return processResult(instruction, result, instructionCount, _this12);
+ return processResult(instruction, result, instructionCount, _this13);
}).catch(function (error) {
return { output: error instanceof Error ? error : new Error(error) };
}).then(function (result) {
- return resolveInstruction(instruction, result, !!instructionCount, _this12);
+ return resolveInstruction(instruction, result, !!instructionCount, _this13);
});
});
};
diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md
index 6d0fa07c..786c8803 100644
--- a/doc/CHANGELOG.md
+++ b/doc/CHANGELOG.md
@@ -1,3 +1,15 @@
+
+# [1.1.0](https://github.com/aurelia/router/compare/1.0.7...v1.1.0) (2016-12-03)
+
+
+### Features
+
+* **router:** add extension point to transform titles when the document title is built ([629da8c](https://github.com/aurelia/router/commit/629da8c))
+* **router:** add extension point to transform titles when the document title is built ([2c40ce1](https://github.com/aurelia/router/commit/2c40ce1)), closes [#343](https://github.com/aurelia/router/issues/343)
+* **router:** add extension point to transform titles when the document title is built ([3d42256](https://github.com/aurelia/router/commit/3d42256)), closes [#343](https://github.com/aurelia/router/issues/343)
+
+
+
## [1.0.6](https://github.com/aurelia/router/compare/1.0.5...v1.0.6) (2016-10-06)
diff --git a/doc/api.json b/doc/api.json
index d829cbca..26d22b6a 100644
--- a/doc/api.json
+++ b/doc/api.json
@@ -1 +1 @@
-{"name":"aurelia-router","children":[{"id":301,"name":"ActivateNextStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":302,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":303,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":304,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":305,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[302]}]},{"id":340,"name":"AppRouter","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"The main application router."},"children":[{"id":343,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":344,"name":"new AppRouter","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":345,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container"}},{"id":346,"name":"history","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"History"}},{"id":347,"name":"pipelineProvider","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"PipelineProvider","id":322}},{"id":348,"name":"events","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"EventAggregator"}}],"type":{"type":"reference","name":"AppRouter","id":340},"overwrites":{"type":"reference","name":"Router.__constructor","id":228}}],"overwrites":{"type":"reference","name":"Router.__constructor","id":228}},{"id":367,"name":"baseUrl","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The [[Router]]'s current base URL, typically based on the [[Router.currentInstruction]]."},"type":{"type":"instrinct","name":"string"},"inheritedFrom":{"type":"reference","name":"Router.baseUrl","id":221}},{"id":363,"name":"container","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Container"},"inheritedFrom":{"type":"reference","name":"Router.container","id":217}},{"id":371,"name":"currentInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The currently active navigation instruction."},"type":{"type":"reference","name":"NavigationInstruction","id":105},"inheritedFrom":{"type":"reference","name":"Router.currentInstruction","id":225}},{"id":364,"name":"history","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"History"},"inheritedFrom":{"type":"reference","name":"Router.history","id":218}},{"id":368,"name":"isConfigured","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if the [[Router]] has been configured."},"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.isConfigured","id":222}},{"id":369,"name":"isNavigating","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if the [[Router]] is currently processing a navigation."},"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.isNavigating","id":223}},{"id":374,"name":"isRoot","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] is the root in the router tree. I.e., it has no parent."},"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.isRoot","id":234}},{"id":370,"name":"navigation","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The navigation models for routes that specified [[RouteConfig.nav]]."},"type":{"type":"reference","isArray":true,"name":"NavModel","id":136},"inheritedFrom":{"type":"reference","name":"Router.navigation","id":224}},{"id":373,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"},"inheritedFrom":{"type":"reference","name":"Router.options","id":227}},{"id":372,"name":"parent","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The parent router, or null if this instance is not a child router."},"type":{"type":"reference","name":"Router","id":216},"inheritedFrom":{"type":"reference","name":"Router.parent","id":226}},{"id":366,"name":"routes","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","isArray":true,"name":"RouteConfig","id":33},"inheritedFrom":{"type":"reference","name":"Router.routes","id":220}},{"id":365,"name":"viewPorts","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"},"inheritedFrom":{"type":"reference","name":"Router.viewPorts","id":219}},{"id":358,"name":"activate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":359,"name":"activate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Activates the router. This instructs the router to begin listening for history changes and processing instructions.","tags":[{"tag":"params","text":"options The set of options to activate the router with.\n"}]},"parameters":[{"id":360,"name":"options","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Object"}}],"type":{"type":"instrinct","name":"void"}}]},{"id":405,"name":"addRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":406,"name":"addRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a new route with the router."},"parameters":[{"id":407,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouteConfig]]."},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":408,"name":"navModel","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The [[NavModel]] to use for the route. May be omitted for single-pattern routes.\n"},"type":{"type":"reference","name":"NavModel","id":136}}],"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.addRoute","id":269}}],"inheritedFrom":{"type":"reference","name":"Router.addRoute","id":269}},{"id":377,"name":"configure","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":378,"name":"configure","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Configures the router."},"parameters":[{"id":379,"name":"callbackOrConfig","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouterConfiguration]] or a callback that takes a [[RouterConfiguration]].\n"},"type":{"type":"union","types":[{"type":"reference","name":"RouterConfiguration","id":174},{"type":"reflection","declaration":{"id":380,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":381,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":382,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouterConfiguration","id":174}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]}}]}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},"inheritedFrom":{"type":"reference","name":"Router.configure","id":241}}],"inheritedFrom":{"type":"reference","name":"Router.configure","id":241}},{"id":394,"name":"createChild","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":395,"name":"createChild","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a child router of the current router.","returns":"The new child Router.\n"},"parameters":[{"id":396,"name":"container","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The [[Container]] to provide to the child router. Uses the current [[Router]]'s [[Container]] if unspecified."},"type":{"type":"reference","name":"Container"}}],"type":{"type":"reference","name":"Router","id":216},"inheritedFrom":{"type":"reference","name":"Router.createChild","id":258}}],"inheritedFrom":{"type":"reference","name":"Router.createChild","id":258}},{"id":402,"name":"createNavModel","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":403,"name":"createNavModel","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a [[NavModel]] for the specified route config."},"parameters":[{"id":404,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The route config.\n"},"type":{"type":"reference","name":"RouteConfig","id":33}}],"type":{"type":"reference","name":"NavModel","id":136},"inheritedFrom":{"type":"reference","name":"Router.createNavModel","id":266}}],"inheritedFrom":{"type":"reference","name":"Router.createNavModel","id":266}},{"id":361,"name":"deactivate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":362,"name":"deactivate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Deactivates the router."},"type":{"type":"instrinct","name":"void"}}]},{"id":375,"name":"ensureConfigured","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":376,"name":"ensureConfigured","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Returns a Promise that resolves when the router is configured."},"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},"inheritedFrom":{"type":"reference","name":"Router.ensureConfigured","id":239}}],"inheritedFrom":{"type":"reference","name":"Router.ensureConfigured","id":239}},{"id":397,"name":"generate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":398,"name":"generate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Generates a URL fragment matching the specified route pattern.","returns":"A string containing the generated URL fragment.\n"},"parameters":[{"id":399,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route whose pattern should be used to generate the fragment."},"type":{"type":"instrinct","name":"string"}},{"id":400,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The route params to be used to populate the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":401,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"string"},"inheritedFrom":{"type":"reference","name":"Router.generate","id":261}}],"inheritedFrom":{"type":"reference","name":"Router.generate","id":261}},{"id":415,"name":"handleUnknownRoutes","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":416,"name":"handleUnknownRoutes","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Register a handler to use when the incoming URL fragment doesn't match any registered routes."},"parameters":[{"id":417,"name":"config","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The moduleId, or a function that selects the moduleId, or a [[RouteConfig]].\n"},"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"Function"},{"type":"reference","name":"RouteConfig","id":33}]}}],"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.handleUnknownRoutes","id":279}}],"inheritedFrom":{"type":"reference","name":"Router.handleUnknownRoutes","id":279}},{"id":412,"name":"hasOwnRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":413,"name":"hasOwnRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] has a route registered with the specified name."},"parameters":[{"id":414,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to check.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.hasOwnRoute","id":276}}],"inheritedFrom":{"type":"reference","name":"Router.hasOwnRoute","id":276}},{"id":409,"name":"hasRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":410,"name":"hasRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] or one of its ancestors has a route registered with the specified name."},"parameters":[{"id":411,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to check.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.hasRoute","id":273}}],"inheritedFrom":{"type":"reference","name":"Router.hasRoute","id":273}},{"id":351,"name":"loadUrl","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":352,"name":"loadUrl","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Loads the specified URL."},"parameters":[{"id":353,"name":"url","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The URL fragment to load.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"reference","name":"NavigationInstruction","id":105}]}}]},{"id":383,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":384,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates to a new location."},"parameters":[{"id":385,"name":"fragment","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The URL fragment to use as the navigation destination."},"type":{"type":"instrinct","name":"string"}},{"id":386,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The navigation options.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.navigate","id":247}}],"inheritedFrom":{"type":"reference","name":"Router.navigate","id":247}},{"id":392,"name":"navigateBack","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":393,"name":"navigateBack","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates back to the most recent location in history."},"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.navigateBack","id":256}}],"inheritedFrom":{"type":"reference","name":"Router.navigateBack","id":256}},{"id":387,"name":"navigateToRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":388,"name":"navigateToRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates to a new location corresponding to the route and params specified. Equivallent to [[Router.generate]] followed\nby [[Router.navigate]]."},"parameters":[{"id":389,"name":"route","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to use when generating the navigation location."},"type":{"type":"instrinct","name":"string"}},{"id":390,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The route parameters to be used when populating the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":391,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The navigation options.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.navigateToRoute","id":251}}],"inheritedFrom":{"type":"reference","name":"Router.navigateToRoute","id":251}},{"id":420,"name":"refreshNavigation","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":421,"name":"refreshNavigation","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Updates the navigation routes with hrefs relative to the current location.\nNote: This method will likely move to a plugin in a future release."},"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.refreshNavigation","id":284}}],"inheritedFrom":{"type":"reference","name":"Router.refreshNavigation","id":284}},{"id":354,"name":"registerViewPort","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":355,"name":"registerViewPort","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a viewPort to be used as a rendering target for activated routes."},"parameters":[{"id":356,"name":"viewPort","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The viewPort."},"type":{"type":"instrinct","name":"any"}},{"id":357,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the viewPort. 'default' if unspecified.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]},"overwrites":{"type":"reference","name":"Router.registerViewPort","id":235}}],"overwrites":{"type":"reference","name":"Router.registerViewPort","id":235}},{"id":349,"name":"reset","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":350,"name":"reset","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\nUse with caution (actually, avoid using this). Do not use this to simply change your navigation model."},"type":{"type":"instrinct","name":"any"},"overwrites":{"type":"reference","name":"Router.reset","id":232}}],"overwrites":{"type":"reference","name":"Router.reset","id":232}},{"id":418,"name":"updateTitle","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":419,"name":"updateTitle","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Updates the document title using the current navigation instruction."},"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.updateTitle","id":282}}],"inheritedFrom":{"type":"reference","name":"Router.updateTitle","id":282}},{"id":341,"name":"inject","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":342,"name":"inject","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[343]},{"title":"Properties","kind":1024,"children":[367,363,371,364,368,369,374,370,373,372,366,365]},{"title":"Methods","kind":2048,"children":[358,405,377,394,402,361,375,397,415,412,409,351,383,392,387,420,354,349,418,341]}],"extendedTypes":[{"type":"reference","name":"Router","id":216}]},{"id":211,"name":"BuildNavigationPlanStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":212,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":213,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":214,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":215,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[212]}]},{"id":291,"name":"CanActivateNextStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":292,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":293,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":294,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":295,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[292]}]},{"id":286,"name":"CanDeactivatePreviousStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":287,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":288,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":289,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":290,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[287]}]},{"id":100,"name":"CommitChangesStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":101,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":102,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":103,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":104,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[101]}]},{"id":296,"name":"DeactivatePreviousStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":297,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":298,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":299,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":300,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[297]}]},{"id":312,"name":"LoadRouteStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":315,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":316,"name":"new LoadRouteStep","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":317,"name":"routeLoader","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteLoader","id":306}}],"type":{"type":"reference","name":"LoadRouteStep","id":312}}]},{"id":318,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":319,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":320,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":321,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":313,"name":"inject","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":314,"name":"inject","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[315]},{"title":"Methods","kind":2048,"children":[318,313]}]},{"id":136,"name":"NavModel","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Class for storing and interacting with a route's navigation settings."},"children":[{"id":144,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":145,"name":"new NavModel","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":146,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Router","id":216}},{"id":147,"name":"relativeHref","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"reference","name":"NavModel","id":136}}]},{"id":142,"name":"config","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The route config."},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":139,"name":"href","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"This nav item's absolute href."},"type":{"type":"instrinct","name":"string"}},{"id":137,"name":"isActive","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if this nav item is currently active."},"type":{"type":"instrinct","name":"boolean"}},{"id":140,"name":"relativeHref","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"This nav item's relative href."},"type":{"type":"instrinct","name":"string"}},{"id":143,"name":"router","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The router associated with this navitation model."},"type":{"type":"reference","name":"Router","id":216}},{"id":141,"name":"settings","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Data attached to the route at configuration time."},"type":{"type":"instrinct","name":"any"}},{"id":138,"name":"title","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The title."},"type":{"type":"instrinct","name":"string"}},{"id":148,"name":"setTitle","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":149,"name":"setTitle","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Sets the route's title and updates document.title.\n If the a navigation is in progress, the change will be applied\n to document.title when the navigation completes."},"parameters":[{"id":150,"name":"title","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The new title.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[144]},{"title":"Properties","kind":1024,"children":[142,139,137,140,143,141,138]},{"title":"Methods","kind":2048,"children":[148]}]},{"id":105,"name":"NavigationInstruction","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Class used to represent an instruction during a navigation."},"children":[{"id":117,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":118,"name":"new NavigationInstruction","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":119,"name":"init","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstructionInit","id":23}}],"type":{"type":"reference","name":"NavigationInstruction","id":105}}]},{"id":110,"name":"config","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The route config for the route matching this instruction."},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":106,"name":"fragment","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The URL fragment."},"type":{"type":"instrinct","name":"string"}},{"id":116,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":108,"name":"params","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Parameters extracted from the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":111,"name":"parentInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The parent instruction, if this instruction was created by a child router."},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":115,"name":"plan","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":112,"name":"previousInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The instruction being replaced by this instruction in the current router."},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":109,"name":"queryParams","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Parameters extracted from the query string."},"type":{"type":"instrinct","name":"any"}},{"id":107,"name":"queryString","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The query string."},"type":{"type":"instrinct","name":"string"}},{"id":114,"name":"router","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The router instance."},"type":{"type":"reference","name":"Router","id":216}},{"id":113,"name":"viewPortInstructions","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"viewPort instructions to used activation."},"type":{"type":"instrinct","name":"any"}},{"id":124,"name":"addViewPortInstruction","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":125,"name":"addViewPortInstruction","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a viewPort instruction."},"parameters":[{"id":126,"name":"viewPortName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":127,"name":"strategy","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":128,"name":"moduleId","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":129,"name":"component","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":120,"name":"getAllInstructions","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":121,"name":"getAllInstructions","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets an array containing this instruction and all child instructions for the current navigation."},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"reference","name":"NavigationInstruction","id":105}]}}]},{"id":122,"name":"getAllPreviousInstructions","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":123,"name":"getAllPreviousInstructions","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets an array containing the instruction and all child instructions for the previous navigation.\nPrevious instructions are no longer available after navigation completes."},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"reference","name":"NavigationInstruction","id":105}]}}]},{"id":134,"name":"getBaseUrl","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":135,"name":"getBaseUrl","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets the instruction's base URL, accounting for wildcard route parameters."},"type":{"type":"instrinct","name":"string"}}]},{"id":130,"name":"getWildCardName","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":131,"name":"getWildCardName","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets the name of the route pattern's wildcard parameter, if applicable."},"type":{"type":"instrinct","name":"string"}}]},{"id":132,"name":"getWildcardPath","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":133,"name":"getWildcardPath","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets the path and query string created by filling the route\npattern's wildcard parameter with the matching param."},"type":{"type":"instrinct","name":"string"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[117]},{"title":"Properties","kind":1024,"children":[110,106,116,108,111,115,112,109,107,114,113]},{"title":"Methods","kind":2048,"children":[124,120,122,134,130,132]}]},{"id":92,"name":"Pipeline","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"The class responsible for managing and processing the navigation pipeline."},"children":[{"id":93,"name":"steps","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The pipeline steps."},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}]}},{"id":94,"name":"addStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":95,"name":"addStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to the pipeline."},"parameters":[{"id":96,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step.\n"},"type":{"type":"reference","name":"PipelineStep","id":13}}],"type":{"type":"reference","name":"Pipeline","id":92}}]},{"id":97,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":98,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Runs the pipeline."},"parameters":[{"id":99,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The navigation instruction to process.\n"},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"reference","name":"PipelineResult","id":18}]}}]}],"groups":[{"title":"Properties","kind":1024,"children":[93]},{"title":"Methods","kind":2048,"children":[94,97]}]},{"id":322,"name":"PipelineProvider","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Class responsible for creating the navigation pipeline."},"children":[{"id":325,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":326,"name":"new PipelineProvider","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":327,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container"}}],"type":{"type":"reference","name":"PipelineProvider","id":322}}]},{"id":330,"name":"addStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":331,"name":"addStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step into the pipeline at a known slot location."},"parameters":[{"id":332,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":333,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"PipelineStep","id":13}}],"type":{"type":"instrinct","name":"void"}}]},{"id":328,"name":"createPipeline","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":329,"name":"createPipeline","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Create the navigation pipeline."},"type":{"type":"reference","name":"Pipeline","id":92}}]},{"id":334,"name":"removeStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":335,"name":"removeStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Removes a step from a slot in the pipeline"},"parameters":[{"id":336,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":337,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"PipelineStep","id":13}}],"type":{"type":"instrinct","name":"any"}}]},{"id":338,"name":"reset","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":339,"name":"reset","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Resets all pipeline slots"},"type":{"type":"instrinct","name":"any"}}]},{"id":323,"name":"inject","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":324,"name":"inject","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[325]},{"title":"Methods","kind":2048,"children":[330,328,334,338,323]}]},{"id":151,"name":"Redirect","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used during the activation lifecycle to cause a redirect."},"children":[{"id":152,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":153,"name":"new Redirect","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":154,"name":"url","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":155,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Redirect","id":151}}]},{"id":159,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":160,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the navigation pipeline to navigate."},"parameters":[{"id":161,"name":"appRouter","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The router to be redirected.\n"},"type":{"type":"reference","name":"Router","id":216}}],"type":{"type":"instrinct","name":"void"}}]},{"id":156,"name":"setRouter","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":157,"name":"setRouter","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the activation system to set the child router."},"parameters":[{"id":158,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The router.\n"},"type":{"type":"reference","name":"Router","id":216}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[152]},{"title":"Methods","kind":2048,"children":[159,156]}]},{"id":162,"name":"RedirectToRoute","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used during the activation lifecycle to cause a redirect to a named route.","tags":[{"tag":"param","text":"The name of the route.","param":"route"},{"tag":"param","text":"The parameters to be sent to the activation method.","param":"params"},{"tag":"param","text":"The options to use for navigation.\n","param":"options"}]},"children":[{"id":163,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":164,"name":"new RedirectToRoute","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":165,"name":"route","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":166,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":167,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"RedirectToRoute","id":162}}]},{"id":171,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":172,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the navigation pipeline to navigate."},"parameters":[{"id":173,"name":"appRouter","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The router to be redirected.\n"},"type":{"type":"reference","name":"Router","id":216}}],"type":{"type":"instrinct","name":"void"}}]},{"id":168,"name":"setRouter","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":169,"name":"setRouter","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the activation system to set the child router."},"parameters":[{"id":170,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The router.\n"},"type":{"type":"reference","name":"Router","id":216}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[163]},{"title":"Methods","kind":2048,"children":[171,168]}]},{"id":306,"name":"RouteLoader","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":307,"name":"loadRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":308,"name":"loadRoute","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":309,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":310,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":311,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[307]}]},{"id":216,"name":"Router","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"The primary class responsible for handling routing and navigation.","tags":[{"tag":"class","text":"Router"},{"tag":"constructor","text":"\n"}]},"children":[{"id":228,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{},"signatures":[{"id":229,"name":"new Router","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":230,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The [[Container]] to use when child routers."},"type":{"type":"reference","name":"Container"}},{"id":231,"name":"history","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The [[History]] implementation to delegate navigation requests to.\n"},"type":{"type":"reference","name":"History"}}],"type":{"type":"reference","name":"Router","id":216}}]},{"id":221,"name":"baseUrl","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The [[Router]]'s current base URL, typically based on the [[Router.currentInstruction]]."},"type":{"type":"instrinct","name":"string"}},{"id":217,"name":"container","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Container"}},{"id":225,"name":"currentInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The currently active navigation instruction."},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":218,"name":"history","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"History"}},{"id":222,"name":"isConfigured","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if the [[Router]] has been configured."},"type":{"type":"instrinct","name":"boolean"}},{"id":223,"name":"isNavigating","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if the [[Router]] is currently processing a navigation."},"type":{"type":"instrinct","name":"boolean"}},{"id":234,"name":"isRoot","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] is the root in the router tree. I.e., it has no parent."},"type":{"type":"instrinct","name":"boolean"}},{"id":224,"name":"navigation","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The navigation models for routes that specified [[RouteConfig.nav]]."},"type":{"type":"reference","isArray":true,"name":"NavModel","id":136}},{"id":227,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":226,"name":"parent","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The parent router, or null if this instance is not a child router."},"type":{"type":"reference","name":"Router","id":216}},{"id":220,"name":"routes","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","isArray":true,"name":"RouteConfig","id":33}},{"id":219,"name":"viewPorts","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":269,"name":"addRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":270,"name":"addRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a new route with the router."},"parameters":[{"id":271,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouteConfig]]."},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":272,"name":"navModel","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The [[NavModel]] to use for the route. May be omitted for single-pattern routes.\n"},"type":{"type":"reference","name":"NavModel","id":136}}],"type":{"type":"instrinct","name":"void"}}]},{"id":241,"name":"configure","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":242,"name":"configure","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Configures the router."},"parameters":[{"id":243,"name":"callbackOrConfig","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouterConfiguration]] or a callback that takes a [[RouterConfiguration]].\n"},"type":{"type":"union","types":[{"type":"reference","name":"RouterConfiguration","id":174},{"type":"reflection","declaration":{"id":244,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":245,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":246,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouterConfiguration","id":174}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]}}]}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]}}]},{"id":258,"name":"createChild","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":259,"name":"createChild","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a child router of the current router.","returns":"The new child Router.\n"},"parameters":[{"id":260,"name":"container","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The [[Container]] to provide to the child router. Uses the current [[Router]]'s [[Container]] if unspecified."},"type":{"type":"reference","name":"Container"}}],"type":{"type":"reference","name":"Router","id":216}}]},{"id":266,"name":"createNavModel","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":267,"name":"createNavModel","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a [[NavModel]] for the specified route config."},"parameters":[{"id":268,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The route config.\n"},"type":{"type":"reference","name":"RouteConfig","id":33}}],"type":{"type":"reference","name":"NavModel","id":136}}]},{"id":239,"name":"ensureConfigured","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":240,"name":"ensureConfigured","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Returns a Promise that resolves when the router is configured."},"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]}}]},{"id":261,"name":"generate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":262,"name":"generate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Generates a URL fragment matching the specified route pattern.","returns":"A string containing the generated URL fragment.\n"},"parameters":[{"id":263,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route whose pattern should be used to generate the fragment."},"type":{"type":"instrinct","name":"string"}},{"id":264,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The route params to be used to populate the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":265,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"string"}}]},{"id":279,"name":"handleUnknownRoutes","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":280,"name":"handleUnknownRoutes","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Register a handler to use when the incoming URL fragment doesn't match any registered routes."},"parameters":[{"id":281,"name":"config","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The moduleId, or a function that selects the moduleId, or a [[RouteConfig]].\n"},"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"Function"},{"type":"reference","name":"RouteConfig","id":33}]}}],"type":{"type":"instrinct","name":"void"}}]},{"id":276,"name":"hasOwnRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":277,"name":"hasOwnRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] has a route registered with the specified name."},"parameters":[{"id":278,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to check.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":273,"name":"hasRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":274,"name":"hasRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] or one of its ancestors has a route registered with the specified name."},"parameters":[{"id":275,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to check.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":247,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":248,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates to a new location."},"parameters":[{"id":249,"name":"fragment","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The URL fragment to use as the navigation destination."},"type":{"type":"instrinct","name":"string"}},{"id":250,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The navigation options.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":256,"name":"navigateBack","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":257,"name":"navigateBack","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates back to the most recent location in history."},"type":{"type":"instrinct","name":"void"}}]},{"id":251,"name":"navigateToRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":252,"name":"navigateToRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates to a new location corresponding to the route and params specified. Equivallent to [[Router.generate]] followed\nby [[Router.navigate]]."},"parameters":[{"id":253,"name":"route","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to use when generating the navigation location."},"type":{"type":"instrinct","name":"string"}},{"id":254,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The route parameters to be used when populating the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":255,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The navigation options.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":284,"name":"refreshNavigation","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":285,"name":"refreshNavigation","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Updates the navigation routes with hrefs relative to the current location.\nNote: This method will likely move to a plugin in a future release."},"type":{"type":"instrinct","name":"void"}}]},{"id":235,"name":"registerViewPort","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":236,"name":"registerViewPort","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a viewPort to be used as a rendering target for activated routes."},"parameters":[{"id":237,"name":"viewPort","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The viewPort."},"type":{"type":"instrinct","name":"any"}},{"id":238,"name":"name","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The name of the viewPort. 'default' if unspecified.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"void"}}]},{"id":232,"name":"reset","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":233,"name":"reset","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\nUse with caution (actually, avoid using this). Do not use this to simply change your navigation model."},"type":{"type":"instrinct","name":"any"}}]},{"id":282,"name":"updateTitle","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":283,"name":"updateTitle","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Updates the document title using the current navigation instruction."},"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[228]},{"title":"Properties","kind":1024,"children":[221,217,225,218,222,223,234,224,227,226,220,219]},{"title":"Methods","kind":2048,"children":[269,241,258,266,239,261,279,276,273,247,256,251,284,235,232,282]}],"extendedBy":[{"type":"reference","name":"AppRouter","id":340}]},{"id":174,"name":"RouterConfiguration","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Class used to configure a [[Router]] instance.","tags":[{"tag":"constructor","text":"\n"}]},"children":[{"id":175,"name":"instructions","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":176,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":177,"name":"pipelineSteps","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}]}},{"id":178,"name":"title","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"string"}},{"id":179,"name":"unknownRouteConfig","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":184,"name":"addAuthorizeStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":185,"name":"addAuthorizeStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s authorize pipeline slot.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":186,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":180,"name":"addPipelineStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":181,"name":"addPipelineStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s navigation pipeline.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":182,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the pipeline slot to insert the step into."},"type":{"type":"instrinct","name":"string"}},{"id":183,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":193,"name":"addPostRenderStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":194,"name":"addPostRenderStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s postRender pipeline slot.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":195,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":187,"name":"addPreActivateStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":188,"name":"addPreActivateStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s preActivate pipeline slot.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":189,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":190,"name":"addPreRenderStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":191,"name":"addPreRenderStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s preRender pipeline slot.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":192,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":208,"name":"exportToRouter","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":209,"name":"exportToRouter","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Applies the current configuration to the specified [[Router]]."},"parameters":[{"id":210,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[Router]] to apply the configuration to.\n"},"type":{"type":"reference","name":"Router","id":216}}],"type":{"type":"instrinct","name":"void"}}]},{"id":196,"name":"map","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":197,"name":"map","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Maps one or more routes to be registered with the router.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":198,"name":"route","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouteConfig]] to map, or an array of [[RouteConfig]] to map."},"type":{"type":"union","types":[{"type":"reference","name":"RouteConfig","id":33},{"type":"reference","isArray":true,"name":"RouteConfig","id":33}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":199,"name":"mapRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":200,"name":"mapRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Maps a single route to be registered with the router.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":201,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteConfig","id":33}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":202,"name":"mapUnknownRoutes","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":203,"name":"mapUnknownRoutes","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers an unknown route handler to be run when the URL fragment doesn't match any registered routes.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":204,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"A string containing a moduleId to load, or a [[RouteConfig]], or a function that takes the\n [[NavigationInstruction]] and selects a moduleId to load."},"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"RouteConfig","id":33},{"type":"reflection","declaration":{"id":205,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":206,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":207,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"RouteConfig","id":33},{"type":"reference","name":"Promise","typeArguments":[{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"RouteConfig","id":33}]}]}]}}]}}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]}],"groups":[{"title":"Properties","kind":1024,"children":[175,176,177,178,179]},{"title":"Methods","kind":2048,"children":[184,180,193,187,190,208,196,199,202]}]},{"id":77,"name":"ConfiguresRouter","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the router configuration convention."},"children":[{"id":78,"name":"configureRouter","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":79,"name":"configureRouter","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to configure a router."},"parameters":[{"id":80,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouterConfiguration","id":174}},{"id":81,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Router","id":216}}],"type":{"type":"union","types":[{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"instrinct","name":"void"}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[78]}]},{"id":86,"name":"IObservable","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A basic interface for an Observable type"},"children":[{"id":87,"name":"subscribe","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":88,"name":"subscribe","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"reference","name":"ISubscription","id":89}}]}],"groups":[{"title":"Methods","kind":2048,"children":[87]}]},{"id":89,"name":"ISubscription","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A basic interface for a Subscription to an Observable"},"children":[{"id":90,"name":"unsubscribe","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":91,"name":"unsubscribe","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[90]}]},{"id":82,"name":"NavigationCommand","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"When a navigation command is encountered, the current navigation\nwill be cancelled and control will be passed to the navigation\ncommand so it can determine the correct action."},"children":[{"id":83,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":84,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":85,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Router","id":216}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[83]}]},{"id":23,"name":"NavigationInstructionInit","kind":256,"kindString":"Interface","flags":{"isExported":true},"children":[{"id":28,"name":"config","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":24,"name":"fragment","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"string"}},{"id":32,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":26,"name":"params","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":29,"name":"parentInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":30,"name":"previousInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":27,"name":"queryParams","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":25,"name":"queryString","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"string"}},{"id":31,"name":"router","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Router","id":216}}],"groups":[{"title":"Properties","kind":1024,"children":[28,24,32,26,29,30,27,25,31]}]},{"id":2,"name":"Next","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A callback to indicate when pipeline processing should advance to the next step\nor be aborted."},"signatures":[{"id":12,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Indicates the successful completion of the pipeline step."},"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}],"children":[{"id":6,"name":"cancel","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":7,"name":"cancel","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Indicates that the pipeline should cancel processing."},"parameters":[{"id":8,"name":"result","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}]},{"id":3,"name":"complete","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":4,"name":"complete","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Indicates the successful completion of the entire pipeline."},"parameters":[{"id":5,"name":"result","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}]},{"id":9,"name":"reject","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":10,"name":"reject","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Indicates that pipeline processing has failed and should be stopped."},"parameters":[{"id":11,"name":"result","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[6,3,9]}]},{"id":18,"name":"PipelineResult","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"The result of a pipeline run."},"children":[{"id":22,"name":"completed","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"boolean"}},{"id":20,"name":"instruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":21,"name":"output","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":19,"name":"status","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"string"}}],"groups":[{"title":"Properties","kind":1024,"children":[22,20,21,19]}]},{"id":13,"name":"PipelineStep","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A step to be run during processing of the pipeline."},"children":[{"id":14,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":15,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Execute the pipeline step. The step should invoke next(), next.complete(),\nnext.cancel(), or next.reject() to allow the pipeline to continue."},"parameters":[{"id":16,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The navigation instruction."},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":17,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The next step in the pipeline.\n"},"type":{"type":"reference","name":"Next","id":2}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[14]}]},{"id":59,"name":"RoutableComponentActivate","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the activate convention."},"children":[{"id":60,"name":"activate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":61,"name":"activate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to perform custom logic just before your view-model is displayed.\nYou can optionally return a promise to tell the router to wait to bind and attach the view until\nafter you finish your work."},"parameters":[{"id":62,"name":"params","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":63,"name":"routeConfig","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":64,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"union","types":[{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"IObservable","id":86},{"type":"instrinct","name":"void"}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[60]}]},{"id":53,"name":"RoutableComponentCanActivate","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the canActivate convention."},"children":[{"id":54,"name":"canActivate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":55,"name":"canActivate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to control whether or not your view-model can be navigated to.\nReturn a boolean value, a promise for a boolean value, or a navigation command."},"parameters":[{"id":56,"name":"params","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":57,"name":"routeConfig","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":58,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"union","types":[{"type":"instrinct","name":"boolean"},{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"boolean"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"boolean"}]},{"type":"reference","name":"NavigationCommand","id":82},{"type":"reference","name":"Promise","typeArguments":[{"type":"reference","name":"NavigationCommand","id":82}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"reference","name":"NavigationCommand","id":82}]}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[54]}]},{"id":65,"name":"RoutableComponentCanDeactivate","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the canDeactivate convention."},"children":[{"id":66,"name":"canDeactivate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":67,"name":"canDeactivate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to control whether or not the router can navigate away from your\nview-model when moving to a new route. Return a boolean value, a promise for a boolean value,\nor a navigation command."},"type":{"type":"union","types":[{"type":"instrinct","name":"boolean"},{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"boolean"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"boolean"}]},{"type":"reference","name":"NavigationCommand","id":82}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[66]}]},{"id":68,"name":"RoutableComponentDeactivate","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the deactivate convention."},"children":[{"id":69,"name":"deactivate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":70,"name":"deactivate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to perform custom logic when your view-model is being\nnavigated away from. You can optionally return a promise to tell the router to wait until\nafter you finish your work."},"type":{"type":"union","types":[{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"IObservable","id":86},{"type":"instrinct","name":"void"}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[69]}]},{"id":71,"name":"RoutableComponentDetermineActivationStrategy","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the determineActivationStrategy convention."},"children":[{"id":72,"name":"determineActivationStrategy","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":73,"name":"determineActivationStrategy","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to give hints to the router about the activation strategy, when reusing\na view model for different routes. Available values are 'replace' and 'invoke-lifecycle'."},"parameters":[{"id":74,"name":"params","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":75,"name":"routeConfig","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":76,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"instrinct","name":"string"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[72]}]},{"id":33,"name":"RouteConfig","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A configuration object that describes a route."},"indexSignature":[{"id":51,"name":"__index","kind":8192,"kindString":"Index signature","flags":{},"comment":{"shortText":"A configuration object that describes a route."},"parameters":[{"id":52,"name":"x","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"any"}}],"children":[{"id":50,"name":"activationStrategy","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"Add to specify an activation strategy if it is always the same and you do not want that\nto be in your view-model code. Available values are 'replace' and 'invoke-lifecycle'."},"type":{"type":"instrinct","name":"string"}},{"id":49,"name":"caseSensitive","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"When true is specified, this route will be case sensitive."},"type":{"type":"instrinct","name":"boolean"}},{"id":45,"name":"generationUsesHref","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"Indicates that when route generation is done for this route, it should just take the literal value of the href property."},"type":{"type":"instrinct","name":"boolean"}},{"id":44,"name":"href","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The URL fragment to use in nav models. If unspecified, the [[RouteConfig.route]] will be used.\nHowever, if the [[RouteConfig.route]] contains dynamic segments, this property must be specified."},"type":{"type":"instrinct","name":"string"}},{"id":36,"name":"moduleId","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The moduleId of the view model that should be activated for this route."},"type":{"type":"instrinct","name":"string"}},{"id":35,"name":"name","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"A unique name for the route that may be used to identify the route when generating URL fragments.\nRequired when this route should support URL generation, such as with [[Router.generate]] or\nthe route-href custom attribute."},"type":{"type":"instrinct","name":"string"}},{"id":43,"name":"nav","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"When specified, this route will be included in the [[Router.navigation]] nav model. Useful for\ndynamically generating menus or other navigation elements. When a number is specified, that value\nwill be used as a sort order."},"type":{"type":"union","types":[{"type":"instrinct","name":"boolean"},{"type":"instrinct","name":"number"}]}},{"id":48,"name":"navModel","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The navigation model for storing and interacting with the route's navigation settings."},"type":{"type":"reference","name":"NavModel","id":136}},{"id":38,"name":"navigationStrategy","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"A function that can be used to dynamically select the module or modules to activate.\nThe function is passed the current [[NavigationInstruction]], and should configure\ninstruction.config with the desired moduleId, viewPorts, or redirect."},"type":{"type":"reflection","declaration":{"id":39,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":40,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":41,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"union","types":[{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"instrinct","name":"void"}]}}]}}},{"id":37,"name":"redirect","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"A URL fragment to redirect to when this route is matched."},"type":{"type":"instrinct","name":"string"}},{"id":34,"name":"route","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The route pattern to match against incoming URL fragments, or an array of patterns."},"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"instrinct","isArray":true,"name":"string"}]}},{"id":47,"name":"settings","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"Arbitrary data to attach to the route. This can be used to attached custom data needed by components\nlike pipeline steps and activated modules."},"type":{"type":"instrinct","name":"any"}},{"id":46,"name":"title","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The document title to set when this route is active."},"type":{"type":"instrinct","name":"string"}},{"id":42,"name":"viewPorts","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The view ports to target when activating this route. If unspecified, the target moduleId is loaded\ninto the default viewPort (the viewPort with name 'default'). The viewPorts object should have keys\nwhose property names correspond to names used by elements. The values should be objects\nspecifying the moduleId to load into that viewPort."},"type":{"type":"instrinct","name":"any"}}],"groups":[{"title":"Properties","kind":1024,"children":[50,49,45,44,36,35,43,48,38,37,34,47,46,42]}]},{"id":426,"name":"activationStrategy","kind":32,"kindString":"Variable","flags":{"isExported":true},"comment":{"shortText":"The strategy to use when activating modules during navigation."},"type":{"type":"instrinct","name":"any"}},{"id":422,"name":"pipelineStatus","kind":32,"kindString":"Variable","flags":{"isExported":true},"comment":{"shortText":"The status of a Pipeline."},"type":{"type":"instrinct","name":"any"}},{"id":423,"name":"isNavigationCommand","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":424,"name":"isNavigationCommand","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Determines if the provided object is a navigation command.\nA navigation command is anything with a navigate method."},"parameters":[{"id":425,"name":"obj","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The object to check.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"}}]}],"groups":[{"title":"Classes","kind":128,"children":[301,340,211,291,286,100,296,312,136,105,92,322,151,162,306,216,174]},{"title":"Interfaces","kind":256,"children":[77,86,89,82,23,2,18,13,59,53,65,68,71,33]},{"title":"Variables","kind":32,"children":[426,422]},{"title":"Functions","kind":64,"children":[423]}]}
\ No newline at end of file
+{"name":"aurelia-router","children":[{"id":308,"name":"ActivateNextStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":309,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":310,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":311,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":312,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[309]}]},{"id":347,"name":"AppRouter","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"The main application router."},"children":[{"id":350,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":351,"name":"new AppRouter","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":352,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container"}},{"id":353,"name":"history","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"History"}},{"id":354,"name":"pipelineProvider","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"PipelineProvider","id":329}},{"id":355,"name":"events","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"EventAggregator"}}],"type":{"type":"reference","name":"AppRouter","id":347},"overwrites":{"type":"reference","name":"Router.__constructor","id":235}}],"overwrites":{"type":"reference","name":"Router.__constructor","id":235}},{"id":374,"name":"baseUrl","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The [[Router]]'s current base URL, typically based on the [[Router.currentInstruction]]."},"type":{"type":"instrinct","name":"string"},"inheritedFrom":{"type":"reference","name":"Router.baseUrl","id":224}},{"id":370,"name":"container","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Container"},"inheritedFrom":{"type":"reference","name":"Router.container","id":220}},{"id":378,"name":"currentInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The currently active navigation instruction."},"type":{"type":"reference","name":"NavigationInstruction","id":105},"inheritedFrom":{"type":"reference","name":"Router.currentInstruction","id":228}},{"id":371,"name":"history","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"History"},"inheritedFrom":{"type":"reference","name":"Router.history","id":221}},{"id":375,"name":"isConfigured","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if the [[Router]] has been configured."},"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.isConfigured","id":225}},{"id":376,"name":"isNavigating","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if the [[Router]] is currently processing a navigation."},"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.isNavigating","id":226}},{"id":385,"name":"isRoot","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] is the root in the router tree. I.e., it has no parent."},"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.isRoot","id":241}},{"id":377,"name":"navigation","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The navigation models for routes that specified [[RouteConfig.nav]]."},"type":{"type":"reference","isArray":true,"name":"NavModel","id":136},"inheritedFrom":{"type":"reference","name":"Router.navigation","id":227}},{"id":380,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"},"inheritedFrom":{"type":"reference","name":"Router.options","id":230}},{"id":379,"name":"parent","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The parent router, or null if this instance is not a child router."},"type":{"type":"reference","name":"Router","id":219},"inheritedFrom":{"type":"reference","name":"Router.parent","id":229}},{"id":373,"name":"routes","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","isArray":true,"name":"RouteConfig","id":33},"inheritedFrom":{"type":"reference","name":"Router.routes","id":223}},{"id":381,"name":"transformTitle","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Extension point to transform the document title before it is built and displayed.\nBy default, child routers delegate to the parent router, and the app router\nreturns the title unchanged."},"type":{"type":"reflection","declaration":{"id":382,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":383,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":384,"name":"title","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"string"}}]}},"inheritedFrom":{"type":"reference","name":"Router.transformTitle","id":231}},{"id":372,"name":"viewPorts","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"},"inheritedFrom":{"type":"reference","name":"Router.viewPorts","id":222}},{"id":365,"name":"activate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":366,"name":"activate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Activates the router. This instructs the router to begin listening for history changes and processing instructions.","tags":[{"tag":"params","text":"options The set of options to activate the router with.\n"}]},"parameters":[{"id":367,"name":"options","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Object"}}],"type":{"type":"instrinct","name":"void"}}]},{"id":416,"name":"addRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":417,"name":"addRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a new route with the router."},"parameters":[{"id":418,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouteConfig]]."},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":419,"name":"navModel","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The [[NavModel]] to use for the route. May be omitted for single-pattern routes.\n"},"type":{"type":"reference","name":"NavModel","id":136}}],"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.addRoute","id":276}}],"inheritedFrom":{"type":"reference","name":"Router.addRoute","id":276}},{"id":388,"name":"configure","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":389,"name":"configure","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Configures the router."},"parameters":[{"id":390,"name":"callbackOrConfig","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouterConfiguration]] or a callback that takes a [[RouterConfiguration]].\n"},"type":{"type":"union","types":[{"type":"reference","name":"RouterConfiguration","id":174},{"type":"reflection","declaration":{"id":391,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":392,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":393,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouterConfiguration","id":174}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]}}]}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},"inheritedFrom":{"type":"reference","name":"Router.configure","id":248}}],"inheritedFrom":{"type":"reference","name":"Router.configure","id":248}},{"id":405,"name":"createChild","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":406,"name":"createChild","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a child router of the current router.","returns":"The new child Router.\n"},"parameters":[{"id":407,"name":"container","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The [[Container]] to provide to the child router. Uses the current [[Router]]'s [[Container]] if unspecified."},"type":{"type":"reference","name":"Container"}}],"type":{"type":"reference","name":"Router","id":219},"inheritedFrom":{"type":"reference","name":"Router.createChild","id":265}}],"inheritedFrom":{"type":"reference","name":"Router.createChild","id":265}},{"id":413,"name":"createNavModel","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":414,"name":"createNavModel","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a [[NavModel]] for the specified route config."},"parameters":[{"id":415,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The route config.\n"},"type":{"type":"reference","name":"RouteConfig","id":33}}],"type":{"type":"reference","name":"NavModel","id":136},"inheritedFrom":{"type":"reference","name":"Router.createNavModel","id":273}}],"inheritedFrom":{"type":"reference","name":"Router.createNavModel","id":273}},{"id":368,"name":"deactivate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":369,"name":"deactivate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Deactivates the router."},"type":{"type":"instrinct","name":"void"}}]},{"id":386,"name":"ensureConfigured","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":387,"name":"ensureConfigured","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Returns a Promise that resolves when the router is configured."},"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},"inheritedFrom":{"type":"reference","name":"Router.ensureConfigured","id":246}}],"inheritedFrom":{"type":"reference","name":"Router.ensureConfigured","id":246}},{"id":408,"name":"generate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":409,"name":"generate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Generates a URL fragment matching the specified route pattern.","returns":"A string containing the generated URL fragment.\n"},"parameters":[{"id":410,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route whose pattern should be used to generate the fragment."},"type":{"type":"instrinct","name":"string"}},{"id":411,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The route params to be used to populate the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":412,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"string"},"inheritedFrom":{"type":"reference","name":"Router.generate","id":268}}],"inheritedFrom":{"type":"reference","name":"Router.generate","id":268}},{"id":426,"name":"handleUnknownRoutes","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":427,"name":"handleUnknownRoutes","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Register a handler to use when the incoming URL fragment doesn't match any registered routes."},"parameters":[{"id":428,"name":"config","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The moduleId, or a function that selects the moduleId, or a [[RouteConfig]].\n"},"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"Function"},{"type":"reference","name":"RouteConfig","id":33}]}}],"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.handleUnknownRoutes","id":286}}],"inheritedFrom":{"type":"reference","name":"Router.handleUnknownRoutes","id":286}},{"id":423,"name":"hasOwnRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":424,"name":"hasOwnRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] has a route registered with the specified name."},"parameters":[{"id":425,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to check.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.hasOwnRoute","id":283}}],"inheritedFrom":{"type":"reference","name":"Router.hasOwnRoute","id":283}},{"id":420,"name":"hasRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":421,"name":"hasRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] or one of its ancestors has a route registered with the specified name."},"parameters":[{"id":422,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to check.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.hasRoute","id":280}}],"inheritedFrom":{"type":"reference","name":"Router.hasRoute","id":280}},{"id":358,"name":"loadUrl","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":359,"name":"loadUrl","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Loads the specified URL."},"parameters":[{"id":360,"name":"url","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The URL fragment to load.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"reference","name":"NavigationInstruction","id":105}]}}]},{"id":394,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":395,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates to a new location."},"parameters":[{"id":396,"name":"fragment","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The URL fragment to use as the navigation destination."},"type":{"type":"instrinct","name":"string"}},{"id":397,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The navigation options.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.navigate","id":254}}],"inheritedFrom":{"type":"reference","name":"Router.navigate","id":254}},{"id":403,"name":"navigateBack","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":404,"name":"navigateBack","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates back to the most recent location in history."},"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.navigateBack","id":263}}],"inheritedFrom":{"type":"reference","name":"Router.navigateBack","id":263}},{"id":398,"name":"navigateToRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":399,"name":"navigateToRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates to a new location corresponding to the route and params specified. Equivallent to [[Router.generate]] followed\nby [[Router.navigate]]."},"parameters":[{"id":400,"name":"route","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to use when generating the navigation location."},"type":{"type":"instrinct","name":"string"}},{"id":401,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The route parameters to be used when populating the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":402,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The navigation options.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"},"inheritedFrom":{"type":"reference","name":"Router.navigateToRoute","id":258}}],"inheritedFrom":{"type":"reference","name":"Router.navigateToRoute","id":258}},{"id":431,"name":"refreshNavigation","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":432,"name":"refreshNavigation","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Updates the navigation routes with hrefs relative to the current location.\nNote: This method will likely move to a plugin in a future release."},"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.refreshNavigation","id":291}}],"inheritedFrom":{"type":"reference","name":"Router.refreshNavigation","id":291}},{"id":361,"name":"registerViewPort","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":362,"name":"registerViewPort","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a viewPort to be used as a rendering target for activated routes."},"parameters":[{"id":363,"name":"viewPort","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The viewPort."},"type":{"type":"instrinct","name":"any"}},{"id":364,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the viewPort. 'default' if unspecified.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]},"overwrites":{"type":"reference","name":"Router.registerViewPort","id":242}}],"overwrites":{"type":"reference","name":"Router.registerViewPort","id":242}},{"id":356,"name":"reset","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":357,"name":"reset","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\nUse with caution (actually, avoid using this). Do not use this to simply change your navigation model."},"type":{"type":"instrinct","name":"any"},"overwrites":{"type":"reference","name":"Router.reset","id":239}}],"overwrites":{"type":"reference","name":"Router.reset","id":239}},{"id":429,"name":"updateTitle","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":430,"name":"updateTitle","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Updates the document title using the current navigation instruction."},"type":{"type":"instrinct","name":"void"},"inheritedFrom":{"type":"reference","name":"Router.updateTitle","id":289}}],"inheritedFrom":{"type":"reference","name":"Router.updateTitle","id":289}},{"id":348,"name":"inject","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":349,"name":"inject","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[350]},{"title":"Properties","kind":1024,"children":[374,370,378,371,375,376,385,377,380,379,373,381,372]},{"title":"Methods","kind":2048,"children":[365,416,388,405,413,368,386,408,426,423,420,358,394,403,398,431,361,356,429,348]}],"extendedTypes":[{"type":"reference","name":"Router","id":219}]},{"id":214,"name":"BuildNavigationPlanStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":215,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":216,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":217,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":218,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[215]}]},{"id":298,"name":"CanActivateNextStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":299,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":300,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":301,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":302,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[299]}]},{"id":293,"name":"CanDeactivatePreviousStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":294,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":295,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":296,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":297,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[294]}]},{"id":100,"name":"CommitChangesStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":101,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":102,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":103,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":104,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[101]}]},{"id":303,"name":"DeactivatePreviousStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":304,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":305,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":306,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":307,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[304]}]},{"id":319,"name":"LoadRouteStep","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":322,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":323,"name":"new LoadRouteStep","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":324,"name":"routeLoader","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteLoader","id":313}}],"type":{"type":"reference","name":"LoadRouteStep","id":319}}]},{"id":325,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":326,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":327,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":328,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Function"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":320,"name":"inject","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":321,"name":"inject","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[322]},{"title":"Methods","kind":2048,"children":[325,320]}]},{"id":136,"name":"NavModel","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Class for storing and interacting with a route's navigation settings."},"children":[{"id":144,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":145,"name":"new NavModel","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":146,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Router","id":219}},{"id":147,"name":"relativeHref","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"reference","name":"NavModel","id":136}}]},{"id":142,"name":"config","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The route config."},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":139,"name":"href","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"This nav item's absolute href."},"type":{"type":"instrinct","name":"string"}},{"id":137,"name":"isActive","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if this nav item is currently active."},"type":{"type":"instrinct","name":"boolean"}},{"id":140,"name":"relativeHref","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"This nav item's relative href."},"type":{"type":"instrinct","name":"string"}},{"id":143,"name":"router","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The router associated with this navitation model."},"type":{"type":"reference","name":"Router","id":219}},{"id":141,"name":"settings","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Data attached to the route at configuration time."},"type":{"type":"instrinct","name":"any"}},{"id":138,"name":"title","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The title."},"type":{"type":"instrinct","name":"string"}},{"id":148,"name":"setTitle","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":149,"name":"setTitle","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Sets the route's title and updates document.title.\n If the a navigation is in progress, the change will be applied\n to document.title when the navigation completes."},"parameters":[{"id":150,"name":"title","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The new title.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[144]},{"title":"Properties","kind":1024,"children":[142,139,137,140,143,141,138]},{"title":"Methods","kind":2048,"children":[148]}]},{"id":105,"name":"NavigationInstruction","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Class used to represent an instruction during a navigation."},"children":[{"id":117,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":118,"name":"new NavigationInstruction","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":119,"name":"init","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstructionInit","id":23}}],"type":{"type":"reference","name":"NavigationInstruction","id":105}}]},{"id":110,"name":"config","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The route config for the route matching this instruction."},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":106,"name":"fragment","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The URL fragment."},"type":{"type":"instrinct","name":"string"}},{"id":116,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":108,"name":"params","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Parameters extracted from the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":111,"name":"parentInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The parent instruction, if this instruction was created by a child router."},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":115,"name":"plan","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":112,"name":"previousInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The instruction being replaced by this instruction in the current router."},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":109,"name":"queryParams","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Parameters extracted from the query string."},"type":{"type":"instrinct","name":"any"}},{"id":107,"name":"queryString","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The query string."},"type":{"type":"instrinct","name":"string"}},{"id":114,"name":"router","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The router instance."},"type":{"type":"reference","name":"Router","id":219}},{"id":113,"name":"viewPortInstructions","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"viewPort instructions to used activation."},"type":{"type":"instrinct","name":"any"}},{"id":124,"name":"addViewPortInstruction","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":125,"name":"addViewPortInstruction","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a viewPort instruction."},"parameters":[{"id":126,"name":"viewPortName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":127,"name":"strategy","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":128,"name":"moduleId","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":129,"name":"component","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":120,"name":"getAllInstructions","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":121,"name":"getAllInstructions","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets an array containing this instruction and all child instructions for the current navigation."},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"reference","name":"NavigationInstruction","id":105}]}}]},{"id":122,"name":"getAllPreviousInstructions","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":123,"name":"getAllPreviousInstructions","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets an array containing the instruction and all child instructions for the previous navigation.\nPrevious instructions are no longer available after navigation completes."},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"reference","name":"NavigationInstruction","id":105}]}}]},{"id":134,"name":"getBaseUrl","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":135,"name":"getBaseUrl","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets the instruction's base URL, accounting for wildcard route parameters."},"type":{"type":"instrinct","name":"string"}}]},{"id":130,"name":"getWildCardName","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":131,"name":"getWildCardName","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets the name of the route pattern's wildcard parameter, if applicable."},"type":{"type":"instrinct","name":"string"}}]},{"id":132,"name":"getWildcardPath","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":133,"name":"getWildcardPath","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets the path and query string created by filling the route\npattern's wildcard parameter with the matching param."},"type":{"type":"instrinct","name":"string"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[117]},{"title":"Properties","kind":1024,"children":[110,106,116,108,111,115,112,109,107,114,113]},{"title":"Methods","kind":2048,"children":[124,120,122,134,130,132]}]},{"id":92,"name":"Pipeline","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"The class responsible for managing and processing the navigation pipeline."},"children":[{"id":93,"name":"steps","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The pipeline steps."},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}]}},{"id":94,"name":"addStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":95,"name":"addStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to the pipeline."},"parameters":[{"id":96,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step.\n"},"type":{"type":"reference","name":"PipelineStep","id":13}}],"type":{"type":"reference","name":"Pipeline","id":92}}]},{"id":97,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":98,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Runs the pipeline."},"parameters":[{"id":99,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The navigation instruction to process.\n"},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"reference","name":"PipelineResult","id":18}]}}]}],"groups":[{"title":"Properties","kind":1024,"children":[93]},{"title":"Methods","kind":2048,"children":[94,97]}]},{"id":329,"name":"PipelineProvider","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Class responsible for creating the navigation pipeline."},"children":[{"id":332,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":333,"name":"new PipelineProvider","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":334,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container"}}],"type":{"type":"reference","name":"PipelineProvider","id":329}}]},{"id":337,"name":"addStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":338,"name":"addStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step into the pipeline at a known slot location."},"parameters":[{"id":339,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":340,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"PipelineStep","id":13}}],"type":{"type":"instrinct","name":"void"}}]},{"id":335,"name":"createPipeline","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":336,"name":"createPipeline","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Create the navigation pipeline."},"type":{"type":"reference","name":"Pipeline","id":92}}]},{"id":341,"name":"removeStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":342,"name":"removeStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Removes a step from a slot in the pipeline"},"parameters":[{"id":343,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":344,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"PipelineStep","id":13}}],"type":{"type":"instrinct","name":"any"}}]},{"id":345,"name":"reset","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":346,"name":"reset","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Resets all pipeline slots"},"type":{"type":"instrinct","name":"any"}}]},{"id":330,"name":"inject","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":331,"name":"inject","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[332]},{"title":"Methods","kind":2048,"children":[337,335,341,345,330]}]},{"id":151,"name":"Redirect","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used during the activation lifecycle to cause a redirect."},"children":[{"id":152,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":153,"name":"new Redirect","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":154,"name":"url","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":155,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Redirect","id":151}}]},{"id":159,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":160,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the navigation pipeline to navigate."},"parameters":[{"id":161,"name":"appRouter","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The router to be redirected.\n"},"type":{"type":"reference","name":"Router","id":219}}],"type":{"type":"instrinct","name":"void"}}]},{"id":156,"name":"setRouter","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":157,"name":"setRouter","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the activation system to set the child router."},"parameters":[{"id":158,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The router.\n"},"type":{"type":"reference","name":"Router","id":219}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[152]},{"title":"Methods","kind":2048,"children":[159,156]}]},{"id":162,"name":"RedirectToRoute","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used during the activation lifecycle to cause a redirect to a named route.","tags":[{"tag":"param","text":"The name of the route.","param":"route"},{"tag":"param","text":"The parameters to be sent to the activation method.","param":"params"},{"tag":"param","text":"The options to use for navigation.\n","param":"options"}]},"children":[{"id":163,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":164,"name":"new RedirectToRoute","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":165,"name":"route","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":166,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":167,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"RedirectToRoute","id":162}}]},{"id":171,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":172,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the navigation pipeline to navigate."},"parameters":[{"id":173,"name":"appRouter","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The router to be redirected.\n"},"type":{"type":"reference","name":"Router","id":219}}],"type":{"type":"instrinct","name":"void"}}]},{"id":168,"name":"setRouter","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":169,"name":"setRouter","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the activation system to set the child router."},"parameters":[{"id":170,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The router.\n"},"type":{"type":"reference","name":"Router","id":219}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[163]},{"title":"Methods","kind":2048,"children":[171,168]}]},{"id":313,"name":"RouteLoader","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":314,"name":"loadRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":315,"name":"loadRoute","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":316,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":317,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":318,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[314]}]},{"id":219,"name":"Router","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"The primary class responsible for handling routing and navigation.","tags":[{"tag":"class","text":"Router"},{"tag":"constructor","text":"\n"}]},"children":[{"id":235,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{},"signatures":[{"id":236,"name":"new Router","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":237,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The [[Container]] to use when child routers."},"type":{"type":"reference","name":"Container"}},{"id":238,"name":"history","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The [[History]] implementation to delegate navigation requests to.\n"},"type":{"type":"reference","name":"History"}}],"type":{"type":"reference","name":"Router","id":219}}]},{"id":224,"name":"baseUrl","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The [[Router]]'s current base URL, typically based on the [[Router.currentInstruction]]."},"type":{"type":"instrinct","name":"string"}},{"id":220,"name":"container","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Container"}},{"id":228,"name":"currentInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The currently active navigation instruction."},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":221,"name":"history","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"History"}},{"id":225,"name":"isConfigured","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if the [[Router]] has been configured."},"type":{"type":"instrinct","name":"boolean"}},{"id":226,"name":"isNavigating","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"True if the [[Router]] is currently processing a navigation."},"type":{"type":"instrinct","name":"boolean"}},{"id":241,"name":"isRoot","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] is the root in the router tree. I.e., it has no parent."},"type":{"type":"instrinct","name":"boolean"}},{"id":227,"name":"navigation","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The navigation models for routes that specified [[RouteConfig.nav]]."},"type":{"type":"reference","isArray":true,"name":"NavModel","id":136}},{"id":230,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":229,"name":"parent","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The parent router, or null if this instance is not a child router."},"type":{"type":"reference","name":"Router","id":219}},{"id":223,"name":"routes","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","isArray":true,"name":"RouteConfig","id":33}},{"id":231,"name":"transformTitle","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"Extension point to transform the document title before it is built and displayed.\nBy default, child routers delegate to the parent router, and the app router\nreturns the title unchanged."},"type":{"type":"reflection","declaration":{"id":232,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":233,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":234,"name":"title","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"string"}}]}}},{"id":222,"name":"viewPorts","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":276,"name":"addRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":277,"name":"addRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a new route with the router."},"parameters":[{"id":278,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouteConfig]]."},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":279,"name":"navModel","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The [[NavModel]] to use for the route. May be omitted for single-pattern routes.\n"},"type":{"type":"reference","name":"NavModel","id":136}}],"type":{"type":"instrinct","name":"void"}}]},{"id":248,"name":"configure","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":249,"name":"configure","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Configures the router."},"parameters":[{"id":250,"name":"callbackOrConfig","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouterConfiguration]] or a callback that takes a [[RouterConfiguration]].\n"},"type":{"type":"union","types":[{"type":"reference","name":"RouterConfiguration","id":174},{"type":"reflection","declaration":{"id":251,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":252,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":253,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouterConfiguration","id":174}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]}}]}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]}}]},{"id":265,"name":"createChild","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":266,"name":"createChild","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a child router of the current router.","returns":"The new child Router.\n"},"parameters":[{"id":267,"name":"container","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The [[Container]] to provide to the child router. Uses the current [[Router]]'s [[Container]] if unspecified."},"type":{"type":"reference","name":"Container"}}],"type":{"type":"reference","name":"Router","id":219}}]},{"id":273,"name":"createNavModel","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":274,"name":"createNavModel","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a [[NavModel]] for the specified route config."},"parameters":[{"id":275,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The route config.\n"},"type":{"type":"reference","name":"RouteConfig","id":33}}],"type":{"type":"reference","name":"NavModel","id":136}}]},{"id":246,"name":"ensureConfigured","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":247,"name":"ensureConfigured","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Returns a Promise that resolves when the router is configured."},"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]}}]},{"id":268,"name":"generate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":269,"name":"generate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Generates a URL fragment matching the specified route pattern.","returns":"A string containing the generated URL fragment.\n"},"parameters":[{"id":270,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route whose pattern should be used to generate the fragment."},"type":{"type":"instrinct","name":"string"}},{"id":271,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The route params to be used to populate the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":272,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"string"}}]},{"id":286,"name":"handleUnknownRoutes","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":287,"name":"handleUnknownRoutes","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Register a handler to use when the incoming URL fragment doesn't match any registered routes."},"parameters":[{"id":288,"name":"config","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The moduleId, or a function that selects the moduleId, or a [[RouteConfig]].\n"},"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"Function"},{"type":"reference","name":"RouteConfig","id":33}]}}],"type":{"type":"instrinct","name":"void"}}]},{"id":283,"name":"hasOwnRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":284,"name":"hasOwnRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] has a route registered with the specified name."},"parameters":[{"id":285,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to check.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":280,"name":"hasRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":281,"name":"hasRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets a value indicating whether or not this [[Router]] or one of its ancestors has a route registered with the specified name."},"parameters":[{"id":282,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to check.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":254,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":255,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates to a new location."},"parameters":[{"id":256,"name":"fragment","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The URL fragment to use as the navigation destination."},"type":{"type":"instrinct","name":"string"}},{"id":257,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The navigation options.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":263,"name":"navigateBack","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":264,"name":"navigateBack","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates back to the most recent location in history."},"type":{"type":"instrinct","name":"void"}}]},{"id":258,"name":"navigateToRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":259,"name":"navigateToRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Navigates to a new location corresponding to the route and params specified. Equivallent to [[Router.generate]] followed\nby [[Router.navigate]]."},"parameters":[{"id":260,"name":"route","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the route to use when generating the navigation location."},"type":{"type":"instrinct","name":"string"}},{"id":261,"name":"params","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The route parameters to be used when populating the route pattern."},"type":{"type":"instrinct","name":"any"}},{"id":262,"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The navigation options.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":291,"name":"refreshNavigation","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":292,"name":"refreshNavigation","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Updates the navigation routes with hrefs relative to the current location.\nNote: This method will likely move to a plugin in a future release."},"type":{"type":"instrinct","name":"void"}}]},{"id":242,"name":"registerViewPort","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":243,"name":"registerViewPort","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a viewPort to be used as a rendering target for activated routes."},"parameters":[{"id":244,"name":"viewPort","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The viewPort."},"type":{"type":"instrinct","name":"any"}},{"id":245,"name":"name","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The name of the viewPort. 'default' if unspecified.\n"},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"void"}}]},{"id":239,"name":"reset","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":240,"name":"reset","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\nUse with caution (actually, avoid using this). Do not use this to simply change your navigation model."},"type":{"type":"instrinct","name":"any"}}]},{"id":289,"name":"updateTitle","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":290,"name":"updateTitle","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Updates the document title using the current navigation instruction."},"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[235]},{"title":"Properties","kind":1024,"children":[224,220,228,221,225,226,241,227,230,229,223,231,222]},{"title":"Methods","kind":2048,"children":[276,248,265,273,246,268,286,283,280,254,263,258,291,242,239,289]}],"extendedBy":[{"type":"reference","name":"AppRouter","id":347}]},{"id":174,"name":"RouterConfiguration","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Class used to configure a [[Router]] instance.","tags":[{"tag":"constructor","text":"\n"}]},"children":[{"id":175,"name":"instructions","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":176,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":177,"name":"pipelineSteps","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}]}},{"id":178,"name":"title","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"string"}},{"id":179,"name":"unknownRouteConfig","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":184,"name":"addAuthorizeStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":185,"name":"addAuthorizeStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s authorize pipeline slot.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":186,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":180,"name":"addPipelineStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":181,"name":"addPipelineStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s navigation pipeline.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":182,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The name of the pipeline slot to insert the step into."},"type":{"type":"instrinct","name":"string"}},{"id":183,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":193,"name":"addPostRenderStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":194,"name":"addPostRenderStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s postRender pipeline slot.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":195,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":187,"name":"addPreActivateStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":188,"name":"addPreActivateStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s preActivate pipeline slot.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":189,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":190,"name":"addPreRenderStep","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":191,"name":"addPreRenderStep","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a step to be run during the [[Router]]'s preRender pipeline slot.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":192,"name":"step","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The pipeline step."},"type":{"type":"union","types":[{"type":"reference","name":"Function"},{"type":"reference","name":"PipelineStep","id":13}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":211,"name":"exportToRouter","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":212,"name":"exportToRouter","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Applies the current configuration to the specified [[Router]]."},"parameters":[{"id":213,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[Router]] to apply the configuration to.\n"},"type":{"type":"reference","name":"Router","id":219}}],"type":{"type":"instrinct","name":"void"}}]},{"id":196,"name":"fallbackRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":197,"name":"fallbackRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Configures a route that will be used if there is no previous location available on navigation cancellation.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":198,"name":"fragment","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The URL fragment to use as the navigation destination."},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":199,"name":"map","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":200,"name":"map","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Maps one or more routes to be registered with the router.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":201,"name":"route","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The [[RouteConfig]] to map, or an array of [[RouteConfig]] to map."},"type":{"type":"union","types":[{"type":"reference","name":"RouteConfig","id":33},{"type":"reference","isArray":true,"name":"RouteConfig","id":33}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":202,"name":"mapRoute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":203,"name":"mapRoute","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Maps a single route to be registered with the router.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":204,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteConfig","id":33}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]},{"id":205,"name":"mapUnknownRoutes","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":206,"name":"mapUnknownRoutes","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers an unknown route handler to be run when the URL fragment doesn't match any registered routes.","tags":[{"tag":"chainable","text":"\n"}]},"parameters":[{"id":207,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"A string containing a moduleId to load, or a [[RouteConfig]], or a function that takes the\n [[NavigationInstruction]] and selects a moduleId to load."},"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"RouteConfig","id":33},{"type":"reflection","declaration":{"id":208,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":209,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":210,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"RouteConfig","id":33},{"type":"reference","name":"Promise","typeArguments":[{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"reference","name":"RouteConfig","id":33}]}]}]}}]}}]}}],"type":{"type":"reference","name":"RouterConfiguration","id":174}}]}],"groups":[{"title":"Properties","kind":1024,"children":[175,176,177,178,179]},{"title":"Methods","kind":2048,"children":[184,180,193,187,190,211,196,199,202,205]}]},{"id":77,"name":"ConfiguresRouter","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the router configuration convention."},"children":[{"id":78,"name":"configureRouter","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":79,"name":"configureRouter","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to configure a router."},"parameters":[{"id":80,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouterConfiguration","id":174}},{"id":81,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Router","id":219}}],"type":{"type":"union","types":[{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"instrinct","name":"void"}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[78]}]},{"id":86,"name":"IObservable","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A basic interface for an Observable type"},"children":[{"id":87,"name":"subscribe","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":88,"name":"subscribe","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"reference","name":"ISubscription","id":89}}]}],"groups":[{"title":"Methods","kind":2048,"children":[87]}]},{"id":89,"name":"ISubscription","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A basic interface for a Subscription to an Observable"},"children":[{"id":90,"name":"unsubscribe","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":91,"name":"unsubscribe","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[90]}]},{"id":82,"name":"NavigationCommand","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"When a navigation command is encountered, the current navigation\nwill be cancelled and control will be passed to the navigation\ncommand so it can determine the correct action."},"children":[{"id":83,"name":"navigate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":84,"name":"navigate","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":85,"name":"router","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Router","id":219}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[83]}]},{"id":23,"name":"NavigationInstructionInit","kind":256,"kindString":"Interface","flags":{"isExported":true},"children":[{"id":28,"name":"config","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":24,"name":"fragment","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"string"}},{"id":32,"name":"options","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":26,"name":"params","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":29,"name":"parentInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":30,"name":"previousInstruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":27,"name":"queryParams","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Object"}},{"id":25,"name":"queryString","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"string"}},{"id":31,"name":"router","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"Router","id":219}}],"groups":[{"title":"Properties","kind":1024,"children":[28,24,32,26,29,30,27,25,31]}]},{"id":2,"name":"Next","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A callback to indicate when pipeline processing should advance to the next step\nor be aborted."},"signatures":[{"id":12,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Indicates the successful completion of the pipeline step."},"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}],"children":[{"id":6,"name":"cancel","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":7,"name":"cancel","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Indicates that the pipeline should cancel processing."},"parameters":[{"id":8,"name":"result","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}]},{"id":3,"name":"complete","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":4,"name":"complete","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Indicates the successful completion of the entire pipeline."},"parameters":[{"id":5,"name":"result","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}]},{"id":9,"name":"reject","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":10,"name":"reject","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Indicates that pipeline processing has failed and should be stopped."},"parameters":[{"id":11,"name":"result","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[6,3,9]}]},{"id":18,"name":"PipelineResult","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"The result of a pipeline run."},"children":[{"id":22,"name":"completed","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"boolean"}},{"id":20,"name":"instruction","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":21,"name":"output","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":19,"name":"status","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"string"}}],"groups":[{"title":"Properties","kind":1024,"children":[22,20,21,19]}]},{"id":13,"name":"PipelineStep","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A step to be run during processing of the pipeline."},"children":[{"id":14,"name":"run","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":15,"name":"run","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Execute the pipeline step. The step should invoke next(), next.complete(),\nnext.cancel(), or next.reject() to allow the pipeline to continue."},"parameters":[{"id":16,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The navigation instruction."},"type":{"type":"reference","name":"NavigationInstruction","id":105}},{"id":17,"name":"next","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The next step in the pipeline.\n"},"type":{"type":"reference","name":"Next","id":2}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[14]}]},{"id":59,"name":"RoutableComponentActivate","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the activate convention."},"children":[{"id":60,"name":"activate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":61,"name":"activate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to perform custom logic just before your view-model is displayed.\nYou can optionally return a promise to tell the router to wait to bind and attach the view until\nafter you finish your work."},"parameters":[{"id":62,"name":"params","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":63,"name":"routeConfig","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":64,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"union","types":[{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"IObservable","id":86},{"type":"instrinct","name":"void"}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[60]}]},{"id":53,"name":"RoutableComponentCanActivate","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the canActivate convention."},"children":[{"id":54,"name":"canActivate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":55,"name":"canActivate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to control whether or not your view-model can be navigated to.\nReturn a boolean value, a promise for a boolean value, or a navigation command."},"parameters":[{"id":56,"name":"params","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":57,"name":"routeConfig","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":58,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"union","types":[{"type":"instrinct","name":"boolean"},{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"boolean"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"boolean"}]},{"type":"reference","name":"NavigationCommand","id":82},{"type":"reference","name":"Promise","typeArguments":[{"type":"reference","name":"NavigationCommand","id":82}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"reference","name":"NavigationCommand","id":82}]}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[54]}]},{"id":65,"name":"RoutableComponentCanDeactivate","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the canDeactivate convention."},"children":[{"id":66,"name":"canDeactivate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":67,"name":"canDeactivate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to control whether or not the router can navigate away from your\nview-model when moving to a new route. Return a boolean value, a promise for a boolean value,\nor a navigation command."},"type":{"type":"union","types":[{"type":"instrinct","name":"boolean"},{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"boolean"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"boolean"}]},{"type":"reference","name":"NavigationCommand","id":82}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[66]}]},{"id":68,"name":"RoutableComponentDeactivate","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the deactivate convention."},"children":[{"id":69,"name":"deactivate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":70,"name":"deactivate","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to perform custom logic when your view-model is being\nnavigated away from. You can optionally return a promise to tell the router to wait until\nafter you finish your work."},"type":{"type":"union","types":[{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"PromiseLike","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"reference","name":"IObservable","id":86},{"type":"instrinct","name":"void"}]}}]}],"groups":[{"title":"Methods","kind":2048,"children":[69]}]},{"id":71,"name":"RoutableComponentDetermineActivationStrategy","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"An optional interface describing the determineActivationStrategy convention."},"children":[{"id":72,"name":"determineActivationStrategy","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":73,"name":"determineActivationStrategy","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Implement this hook if you want to give hints to the router about the activation strategy, when reusing\na view model for different routes. Available values are 'replace' and 'invoke-lifecycle'."},"parameters":[{"id":74,"name":"params","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":75,"name":"routeConfig","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"RouteConfig","id":33}},{"id":76,"name":"navigationInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"instrinct","name":"string"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[72]}]},{"id":33,"name":"RouteConfig","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A configuration object that describes a route."},"indexSignature":[{"id":51,"name":"__index","kind":8192,"kindString":"Index signature","flags":{},"comment":{"shortText":"A configuration object that describes a route."},"parameters":[{"id":52,"name":"x","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"any"}}],"children":[{"id":50,"name":"activationStrategy","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"Add to specify an activation strategy if it is always the same and you do not want that\nto be in your view-model code. Available values are 'replace' and 'invoke-lifecycle'."},"type":{"type":"instrinct","name":"string"}},{"id":49,"name":"caseSensitive","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"When true is specified, this route will be case sensitive."},"type":{"type":"instrinct","name":"boolean"}},{"id":45,"name":"generationUsesHref","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"Indicates that when route generation is done for this route, it should just take the literal value of the href property."},"type":{"type":"instrinct","name":"boolean"}},{"id":44,"name":"href","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The URL fragment to use in nav models. If unspecified, the [[RouteConfig.route]] will be used.\nHowever, if the [[RouteConfig.route]] contains dynamic segments, this property must be specified."},"type":{"type":"instrinct","name":"string"}},{"id":36,"name":"moduleId","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The moduleId of the view model that should be activated for this route."},"type":{"type":"instrinct","name":"string"}},{"id":35,"name":"name","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"A unique name for the route that may be used to identify the route when generating URL fragments.\nRequired when this route should support URL generation, such as with [[Router.generate]] or\nthe route-href custom attribute."},"type":{"type":"instrinct","name":"string"}},{"id":43,"name":"nav","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"When specified, this route will be included in the [[Router.navigation]] nav model. Useful for\ndynamically generating menus or other navigation elements. When a number is specified, that value\nwill be used as a sort order."},"type":{"type":"union","types":[{"type":"instrinct","name":"boolean"},{"type":"instrinct","name":"number"}]}},{"id":48,"name":"navModel","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The navigation model for storing and interacting with the route's navigation settings."},"type":{"type":"reference","name":"NavModel","id":136}},{"id":38,"name":"navigationStrategy","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"A function that can be used to dynamically select the module or modules to activate.\nThe function is passed the current [[NavigationInstruction]], and should configure\ninstruction.config with the desired moduleId, viewPorts, or redirect."},"type":{"type":"reflection","declaration":{"id":39,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":40,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":41,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NavigationInstruction","id":105}}],"type":{"type":"union","types":[{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"void"}]},{"type":"instrinct","name":"void"}]}}]}}},{"id":37,"name":"redirect","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"A URL fragment to redirect to when this route is matched."},"type":{"type":"instrinct","name":"string"}},{"id":34,"name":"route","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The route pattern to match against incoming URL fragments, or an array of patterns."},"type":{"type":"union","types":[{"type":"instrinct","name":"string"},{"type":"instrinct","isArray":true,"name":"string"}]}},{"id":47,"name":"settings","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"Arbitrary data to attach to the route. This can be used to attached custom data needed by components\nlike pipeline steps and activated modules."},"type":{"type":"instrinct","name":"any"}},{"id":46,"name":"title","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The document title to set when this route is active."},"type":{"type":"instrinct","name":"string"}},{"id":42,"name":"viewPorts","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"The view ports to target when activating this route. If unspecified, the target moduleId is loaded\ninto the default viewPort (the viewPort with name 'default'). The viewPorts object should have keys\nwhose property names correspond to names used by elements. The values should be objects\nspecifying the moduleId to load into that viewPort."},"type":{"type":"instrinct","name":"any"}}],"groups":[{"title":"Properties","kind":1024,"children":[50,49,45,44,36,35,43,48,38,37,34,47,46,42]}]},{"id":437,"name":"activationStrategy","kind":32,"kindString":"Variable","flags":{"isExported":true},"comment":{"shortText":"The strategy to use when activating modules during navigation."},"type":{"type":"instrinct","name":"any"}},{"id":433,"name":"pipelineStatus","kind":32,"kindString":"Variable","flags":{"isExported":true},"comment":{"shortText":"The status of a Pipeline."},"type":{"type":"instrinct","name":"any"}},{"id":434,"name":"isNavigationCommand","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":435,"name":"isNavigationCommand","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Determines if the provided object is a navigation command.\nA navigation command is anything with a navigate method."},"parameters":[{"id":436,"name":"obj","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The object to check.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"boolean"}}]}],"groups":[{"title":"Classes","kind":128,"children":[308,347,214,298,293,100,303,319,136,105,92,329,151,162,313,219,174]},{"title":"Interfaces","kind":256,"children":[77,86,89,82,23,2,18,13,59,53,65,68,71,33]},{"title":"Variables","kind":32,"children":[437,433]},{"title":"Functions","kind":64,"children":[434]}]}
\ No newline at end of file
diff --git a/package.json b/package.json
index 7bc52e04..f894177b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "aurelia-router",
- "version": "1.0.7",
+ "version": "1.1.0",
"description": "A powerful client-side router.",
"keywords": [
"aurelia",