本文整理匯總了TypeScript中@jupyterlab/apputils.Dialog.launch方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Dialog.launch方法的具體用法?TypeScript Dialog.launch怎麽用?TypeScript Dialog.launch使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@jupyterlab/apputils.Dialog
的用法示例。
在下文中一共展示了Dialog.launch方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: redirect
export async function redirect(router: IRouter, warn = false): Promise<void> {
const form = createRedirectForm(warn);
const dialog = new Dialog({
title: 'Please use a different workspace.',
body: form,
focusNodeSelector: 'input',
buttons: [Dialog.okButton({ label: 'Switch Workspace' })]
});
const result = await dialog.launch();
dialog.dispose();
if (!result.value) {
return redirect(router, true);
}
// Navigate to a new workspace URL and abandon this session altogether.
const workspaces = PageConfig.getOption('workspacesUrl');
const url = URLExt.join(workspaces, result.value);
router.navigate(url, { hard: true, silent: true });
// This promise will never resolve because the application navigates
// away to a new location. It only exists to satisfy the return type
// of the `redirect` function.
return new Promise<void>(() => undefined);
}
示例2: redirect
export function redirect(router: IRouter, warn = false): Promise<void> {
const form = createRedirectForm(warn);
const dialog = new Dialog({
title: 'Please use a different workspace.',
body: form,
focusNodeSelector: 'input',
buttons: [Dialog.okButton({ label: 'Switch Workspace' })]
});
return dialog.launch().then(result => {
dialog.dispose();
if (result.value) {
const url = `workspaces/${result.value}`;
// Navigate to a new workspace URL and abandon this session altogether.
router.navigate(url, { hard: true, silent: true });
// This promise will never resolve because the application navigates
// away to a new location. It only exists to satisfy the return type
// of the `redirect` function.
return new Promise<void>(() => {
/* no-op */
});
}
return redirect(router, true);
});
}
示例3: recover
/**
* Allows the user to clear state if splash screen takes too long.
*/
function recover(fn: () => void): void {
if (dialog) {
return;
}
dialog = new Dialog({
title: 'Loading...',
body: `The loading screen is taking a long time.
Would you like to clear the workspace or keep waiting?`,
buttons: [
Dialog.cancelButton({ label: 'Keep Waiting' }),
Dialog.warnButton({ label: 'Clear Workspace' })
]
});
dialog
.launch()
.then(result => {
if (result.button.accept) {
return fn();
}
dialog.dispose();
dialog = null;
debouncer = window.setTimeout(() => {
recover(fn);
}, SPLASH_RECOVER_TIMEOUT);
})
.catch(() => {
/* no-op */
});
}
示例4: redirect
export async function redirect(
router: IRouter,
paths: JupyterFrontEnd.IPaths,
workspace: string,
warn = false
): Promise<void> {
const form = createRedirectForm(warn);
const dialog = new Dialog({
title: 'Please use a different workspace.',
body: form,
focusNodeSelector: 'input',
buttons: [Dialog.okButton({ label: 'Switch Workspace' })]
});
const result = await dialog.launch();
dialog.dispose();
if (!result.value) {
return redirect(router, paths, workspace, true);
}
// Navigate to a new workspace URL and abandon this session altogether.
const page = paths.urls.page;
const workspaces = paths.urls.workspaces;
const prefix = (workspace ? workspaces : page).length + workspace.length;
const rest = router.current.request.substring(prefix);
const url = URLExt.join(workspaces, result.value, rest);
router.navigate(url, { hard: true, silent: true });
// This promise will never resolve because the application navigates
// away to a new location. It only exists to satisfy the return type
// of the `redirect` function.
return new Promise<void>(() => undefined);
}