本文整理汇总了TypeScript中@jupyterlab/application.Router类的典型用法代码示例。如果您正苦于以下问题:TypeScript Router类的具体用法?TypeScript Router怎么用?TypeScript Router使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Router类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: Router
activate: (app: JupyterLab) => {
const { commands } = app;
const base = PageConfig.getOption('pageUrl');
const router = new Router({ base, commands });
commands.addCommand(CommandIDs.tree, {
execute: (args: IRouter.ILocation) => {
const path = decodeURIComponent((args.path.match(Patterns.tree)[1]));
// File browser navigation waits for the application to be restored.
// As a result, this command cannot return a promise because it would
// create a circular dependency on the restored promise that would
// cause the application to never restore.
const opened = commands.execute('filebrowser:navigate-main', { path });
// Change the URL back to the base application URL without adding the
// URL change to the browser history.
opened.then(() => { router.navigate('', { silent: true }); });
}
});
router.register({ command: CommandIDs.tree, pattern: Patterns.tree });
app.started.then(() => {
// Route the very first request on load.
router.route();
// Route all pop state events.
window.addEventListener('popstate', () => { router.route(); });
});
return router;
},
示例2: it
it('should stop routing if returned by a routed command', done => {
const wanted = ['a', 'b'];
const recorded: string[] = [];
commands.addCommand('a', {
execute: () => {
recorded.push('a');
}
});
commands.addCommand('b', {
execute: () => {
recorded.push('b');
}
});
commands.addCommand('c', { execute: () => router.stop });
commands.addCommand('d', {
execute: () => {
recorded.push('d');
}
});
router.register({ command: 'a', pattern: /.*/, rank: 10 });
router.register({ command: 'b', pattern: /.*/, rank: 20 });
router.register({ command: 'c', pattern: /.*/, rank: 30 });
router.register({ command: 'd', pattern: /.*/, rank: 40 });
router.routed.connect(() => {
expect(recorded).to.deep.equal(wanted);
done();
});
router.route();
});
示例3: it
it('should stop routing if returned by a routed command', async () => {
const wanted = ['a', 'b'];
const recorded: string[] = [];
commands.addCommand('a', {
execute: () => {
recorded.push('a');
}
});
commands.addCommand('b', {
execute: () => {
recorded.push('b');
}
});
commands.addCommand('c', { execute: () => router.stop });
commands.addCommand('d', {
execute: () => {
recorded.push('d');
}
});
router.register({ command: 'a', pattern: /.*/, rank: 10 });
router.register({ command: 'b', pattern: /.*/, rank: 20 });
router.register({ command: 'c', pattern: /.*/, rank: 30 });
router.register({ command: 'd', pattern: /.*/, rank: 40 });
let promise = signalToPromise(router.routed);
await router.route();
await promise;
expect(recorded).to.deep.equal(wanted);
});
示例4: it
it('should emit a signal when a path is routed', done => {
let routed = false;
commands.addCommand('a', { execute: () => { routed = true; } });
router.register({ command: 'a', pattern: /.*/, rank: 10 });
router.routed.connect(() => {
expect(routed).to.be(true);
done();
});
router.route();
});
示例5:
app.started.then(() => {
// Route the very first request on load.
router.route();
// Route all pop state events.
window.addEventListener('popstate', () => { router.route(); });
});