feat: read content from search params (#1607)

pull/1609/head
Max Malm 2 years ago committed by GitHub
parent 3fad718807
commit dbb544dc92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -14,6 +14,7 @@ import ResourceIcon from "./ResourceIcon";
import showResourcesSelectorDialog from "./ResourcesSelectorDialog";
import showCreateResourceDialog from "./CreateResourceDialog";
import "@/less/memo-editor.less";
import { clearContentQueryParam, getContentQueryParam } from "@/helpers/utils";
const listItemSymbolList = ["- [ ] ", "- [x] ", "- [X] ", "* ", "- "];
const emptyOlReg = /^(\d+)\. $/;
@ -22,6 +23,10 @@ const getEditorContentCache = (): string => {
return storage.get(["editorContentCache"]).editorContentCache ?? "";
};
const getInitialContent = (): string => {
return getContentQueryParam() ?? getEditorContentCache();
};
const setEditorContentCache = (content: string) => {
storage.set({
editorContentCache: content,
@ -286,6 +291,7 @@ const MemoEditor = () => {
editorStore.clearResourceList();
setEditorContentCache("");
editorRef.current?.setContent("");
clearContentQueryParam();
};
const handleCancelEdit = () => {
@ -378,7 +384,7 @@ const MemoEditor = () => {
const editorConfig = useMemo(
() => ({
className: `memo-editor`,
initialContent: getEditorContentCache(),
initialContent: getInitialContent(),
placeholder: t("editor.placeholder"),
fullscreen: state.fullscreen,
onContentChange: handleContentChange,

@ -105,3 +105,18 @@ export const formatBytes = (bytes: number) => {
i = Math.floor(Math.log(bytes) / Math.log(k));
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
};
export const getContentQueryParam = (): string | undefined => {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get("content") ?? undefined;
};
export const clearContentQueryParam = () => {
const urlParams = new URLSearchParams(window.location.search);
urlParams.delete("content");
let url = window.location.pathname;
if (urlParams.toString()) {
url += `?${urlParams.toString()}`;
}
window.history.replaceState({}, "", url);
};

Loading…
Cancel
Save