文件
mynode/packages/editor/ProseMirror/testing/createTestEditor.ts
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

32 行
918 B
TypeScript

import { DOMParser as ProseMirrorDomParser } from 'prosemirror-model';
import { EditorView } from 'prosemirror-view';
import schema from '../schema';
import { EditorState, Plugin } from 'prosemirror-state';
export type PluginList = Plugin[]|(Plugin|Plugin[])[];
interface Options {
parent?: HTMLElement;
html: string;
plugins?: PluginList;
}
const createTestEditor = ({ html, parent = null, plugins = [] }: Options) => {
if (parent === null) {
// Create a test parent -- some code adds tooltips, etc to view.dom.parent.
parent = document.createElement('div');
}
const htmlDocument = new DOMParser().parseFromString(html, 'text/html');
const proseMirrorDocument = ProseMirrorDomParser.fromSchema(schema).parse(htmlDocument);
return new EditorView(parent, {
state: EditorState.create({
doc: proseMirrorDocument,
plugins: plugins.flat(),
schema,
}),
});
};
export default createTestEditor;