mirror of
https://github.com/docmost/docmost.git
synced 2026-05-18 23:44:24 +08:00
node deletion
This commit is contained in:
@@ -40,11 +40,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
:global(.history-diff-node-deleted) {
|
:global(.history-diff-node-deleted) {
|
||||||
display: inline-block;
|
display: block;
|
||||||
background: light-dark(var(--mantine-color-red-0), rgba(255, 0, 0, 0.1));
|
opacity: 0.5;
|
||||||
border: rem(1px) dashed light-dark(var(--mantine-color-red-4), var(--mantine-color-red-6));
|
outline: rem(2px) dashed light-dark(var(--mantine-color-red-4), var(--mantine-color-red-6));
|
||||||
|
outline-offset: rem(2px);
|
||||||
border-radius: rem(4px);
|
border-radius: rem(4px);
|
||||||
padding: rem(4px) rem(8px);
|
|
||||||
color: light-dark(var(--mantine-color-red-7), var(--mantine-color-red-4));
|
|
||||||
font-size: rem(12px);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { Decoration, DecorationSet } from "@tiptap/pm/view";
|
|||||||
import classes from "./history-diff.module.css";
|
import classes from "./history-diff.module.css";
|
||||||
import historyClasses from "./history.module.css";
|
import historyClasses from "./history.module.css";
|
||||||
import { recreateTransform } from "@docmost/editor-ext";
|
import { recreateTransform } from "@docmost/editor-ext";
|
||||||
import { Node } from "@tiptap/pm/model";
|
import { DOMSerializer, Node } from "@tiptap/pm/model";
|
||||||
import { ChangeSet, simplifyChanges } from "prosemirror-changeset";
|
import { ChangeSet, simplifyChanges } from "prosemirror-changeset";
|
||||||
|
|
||||||
export interface HistoryEditorProps {
|
export interface HistoryEditorProps {
|
||||||
@@ -126,10 +126,12 @@ export function HistoryEditor({
|
|||||||
if (foundDeletedNode) {
|
if (foundDeletedNode) {
|
||||||
decorations.push(
|
decorations.push(
|
||||||
Decoration.widget(change.fromB, () => {
|
Decoration.widget(change.fromB, () => {
|
||||||
const span = document.createElement("span");
|
const wrapper = document.createElement("div");
|
||||||
span.className = "history-diff-node-deleted";
|
wrapper.className = "history-diff-node-deleted";
|
||||||
span.textContent = `[${foundDeletedNode!.node.type.name} removed]`;
|
const serializer = DOMSerializer.fromSchema(schema);
|
||||||
return span;
|
const dom = serializer.serializeNode(foundDeletedNode!.node);
|
||||||
|
wrapper.appendChild(dom);
|
||||||
|
return wrapper;
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user