本文整理匯總了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(); });
});