本文整理汇总了TypeScript中rx-jupyter.contents.update方法的典型用法代码示例。如果您正苦于以下问题:TypeScript contents.update方法的具体用法?TypeScript contents.update怎么用?TypeScript contents.update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rx-jupyter.contents
的用法示例。
在下文中一共展示了contents.update方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: switchMap
switchMap(action => {
if (!action.payload || typeof action.payload.filepath !== "string") {
return of({
type: "ERROR",
error: true,
payload: { error: new Error("updating content needs a payload") }
}) as any;
}
const state: any = state$.value;
const host: any = selectors.currentHost(state);
// Dismiss any usage that isn't targeting a jupyter server
if (host.type !== "jupyter") {
return empty();
}
const { contentRef, filepath, prevFilePath } = action.payload;
const serverConfig: ServerConfig = selectors.serverConfig(host);
return contents
.update(serverConfig, prevFilePath, { path: filepath.slice(1) })
.pipe(
tap(xhr => {
if (xhr.status !== 200) {
throw new Error(xhr.response);
}
}),
map(() => {
/*
* Modifying the url's file name in the browser.
* This effects back button behavior.
* Is there a better way to accomplish this?
*/
window.history.replaceState(
{},
filepath,
urljoin(host.basePath, `/nteract/edit${filepath}`)
);
return actions.changeContentNameFulfilled({
contentRef: action.payload.contentRef,
filepath: action.payload.filepath,
prevFilePath
});
}),
catchError((xhrError: any) =>
of(
actions.changeContentNameFailed({
basepath: host.basepath,
filepath: action.payload.filepath,
prevFilePath,
error: xhrError,
contentRef: action.payload.contentRef
})
)
)
);
})