From 19a3df6d4754a989114920b79611f7c55431da86 Mon Sep 17 00:00:00 2001 From: "Kilu.He" <108015703+qinluhe@users.noreply.github.com> Date: Mon, 7 Oct 2024 18:30:39 +0800 Subject: [PATCH] feat: support shortcuts on web (#6474) * fix: add tab and shift+tab test cases on web * fix: support BIUS on web * fix: add BIUS test cases * fix: add markdown to block test cases * fix: add markdown to block test cases --- .../should-not-outdent-at-top-level.snap.png | Bin 0 -> 59923 bytes ...d-outdent-deeply-nested-paragraph.snap.png | Bin 0 -> 59918 bytes ...should-outdent-nested-toggle-list.snap.png | Bin 0 -> 59682 bytes ...-indent-nested-block-at-index-0-1.snap.png | Bin 0 -> 59610 bytes .../should-indent-paragraph.snap.png | Bin 0 -> 59878 bytes ...d-not-indent-at-start-of-document.snap.png | Bin 0 -> 59909 bytes ...t-indent-at-start-of-nested-block.snap.png | Bin 0 -> 59924 bytes .../snapshots/shortcuts/BIUS.cy.snap.png | Bin 0 -> 64400 bytes .../cypress/support/component.ts | 1 + frontend/appflowy_web_app/package.json | 2 + frontend/appflowy_web_app/pnpm-lock.yaml | 19 + .../__tests__/withTestingYjsEditor.ts | 1 + .../application/slate-yjs/command/const.ts | 16 + .../application/slate-yjs/command/index.ts | 186 +++++++--- .../slate-yjs/plugins/withHistory.ts | 3 +- .../application/slate-yjs/plugins/withYjs.ts | 5 +- .../src/application/slate-yjs/types.ts | 14 + .../application/slate-yjs/utils/applyToYjs.ts | 149 +++++++- .../slate-yjs/utils/yjsOperations.ts | 325 +++++++++++++---- .../_shared/katex-math/KatexMath.tsx | 5 +- .../components/editor/CollaborativeEditor.tsx | 4 +- .../src/components/editor/Editable.tsx | 7 + .../__tests__/behavior/TabBehavior.cy.tsx | 211 +++++++++++ .../editor/__tests__/blocks/Paragraph.cy.tsx | 4 +- .../src/components/editor/__tests__/mount.tsx | 12 +- .../editor/__tests__/shortcuts/BIUS.cy.tsx | 162 +++++++++ .../__tests__/shortcuts/Markdown.cy.tsx | 328 +++++++++++++++++ .../blocks/math-equation/MathEquation.tsx | 6 +- .../editor/components/blocks/quote/Quote.tsx | 9 +- .../components/blocks/quote/QuoteIcon.tsx | 11 - .../blocks/text/StartIcon.hooks.tsx | 11 +- .../blocks/todo-list/CheckboxIcon.tsx | 29 +- .../blocks/toggle-list/ToggleIcon.tsx | 6 +- .../editor/components/leaf/Leaf.tsx | 1 + .../components/leaf/formula/FormulaLeaf.tsx | 10 +- .../editor/components/leaf/leaf.hooks.ts | 25 +- .../src/components/editor/editor.scss | 6 + .../src/components/editor/plugins/index.ts | 4 +- .../editor/plugins/withInsertBreak.ts | 2 +- .../editor/plugins/withInsertText.ts | 36 ++ .../components/editor/plugins/withMarkdown.ts | 19 + .../src/components/editor/shortcut.hooks.ts | 177 +++++++++ .../src/components/editor/utils/markdown.ts | 335 ++++++++++++++++++ .../src/components/main/useAppThemeMode.ts | 21 +- frontend/appflowy_web_app/tsconfig.json | 3 +- 45 files changed, 1993 insertions(+), 172 deletions(-) create mode 100644 frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-not-outdent-at-top-level.snap.png create mode 100644 frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-outdent-deeply-nested-paragraph.snap.png create mode 100644 frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-outdent-nested-toggle-list.snap.png create mode 100644 frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-indent-nested-block-at-index-0-1.snap.png create mode 100644 frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-indent-paragraph.snap.png create mode 100644 frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-not-indent-at-start-of-document.snap.png create mode 100644 frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-not-indent-at-start-of-nested-block.snap.png create mode 100644 frontend/appflowy_web_app/cypress/snapshots/shortcuts/BIUS.cy.snap.png create mode 100644 frontend/appflowy_web_app/src/application/slate-yjs/command/const.ts create mode 100644 frontend/appflowy_web_app/src/components/editor/__tests__/behavior/TabBehavior.cy.tsx create mode 100644 frontend/appflowy_web_app/src/components/editor/__tests__/shortcuts/BIUS.cy.tsx create mode 100644 frontend/appflowy_web_app/src/components/editor/__tests__/shortcuts/Markdown.cy.tsx delete mode 100644 frontend/appflowy_web_app/src/components/editor/components/blocks/quote/QuoteIcon.tsx create mode 100644 frontend/appflowy_web_app/src/components/editor/plugins/withInsertText.ts create mode 100644 frontend/appflowy_web_app/src/components/editor/plugins/withMarkdown.ts create mode 100644 frontend/appflowy_web_app/src/components/editor/shortcut.hooks.ts create mode 100644 frontend/appflowy_web_app/src/components/editor/utils/markdown.ts diff --git a/frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-not-outdent-at-top-level.snap.png b/frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-not-outdent-at-top-level.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..79f64bb4215c635f33166613a67b15d4b15b8024 GIT binary patch literal 59923 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 BBklkI literal 0 HcmV?d00001 diff --git a/frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-outdent-deeply-nested-paragraph.snap.png b/frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-outdent-deeply-nested-paragraph.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d3f42cba681071a27cee63772c30ffecce018f GIT binary patch literal 59918 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 literal 0 HcmV?d00001 diff --git a/frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-outdent-nested-toggle-list.snap.png b/frontend/appflowy_web_app/cypress/snapshots/behavior/ShiftTabKeyBehavior/should-outdent-nested-toggle-list.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..5e227811fbc126c851aa09ed8b37b1364fb1728b GIT binary patch literal 59682 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%0Arj5op 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 literal 0 HcmV?d00001 diff --git a/frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-indent-nested-block-at-index-0-1.snap.png b/frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-indent-nested-block-at-index-0-1.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..e6df02054893bbe963aef03315ab0e07a30b1bf5 GIT binary patch literal 59610 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 Qcm>GD((zo$_m_VDAKszQ&Hw-a literal 0 HcmV?d00001 diff --git a/frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-not-indent-at-start-of-document.snap.png b/frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-not-indent-at-start-of-document.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b6b16b0ab3b270dbc06b1b65240c5bab324637 GIT binary patch literal 59909 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 literal 0 HcmV?d00001 diff --git a/frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-not-indent-at-start-of-nested-block.snap.png b/frontend/appflowy_web_app/cypress/snapshots/behavior/TabKeyBehavior/should-not-indent-at-start-of-nested-block.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..67ffdfa5eae761187b1127fa34883833a13172af GIT binary patch literal 59924 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 literal 0 HcmV?d00001 diff --git a/frontend/appflowy_web_app/cypress/snapshots/shortcuts/BIUS.cy.snap.png b/frontend/appflowy_web_app/cypress/snapshots/shortcuts/BIUS.cy.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..ea983815ce633bb2d46a8ab5003983a339b1cb50 GIT binary patch literal 64400 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 Kqatx*|NjLk@vk}n literal 0 HcmV?d00001 diff --git a/frontend/appflowy_web_app/cypress/support/component.ts b/frontend/appflowy_web_app/cypress/support/component.ts index 86d20b565a52..84df06273fe3 100644 --- a/frontend/appflowy_web_app/cypress/support/component.ts +++ b/frontend/appflowy_web_app/cypress/support/component.ts @@ -13,6 +13,7 @@ // https://on.cypress.io/configuration // *********************************************************** import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command'; +import 'cypress-real-events'; // Import commands.js using ES2015 syntax: import '@cypress/code-coverage/support'; diff --git a/frontend/appflowy_web_app/package.json b/frontend/appflowy_web_app/package.json index dd0b09abc8a1..9eb8699d4e95 100644 --- a/frontend/appflowy_web_app/package.json +++ b/frontend/appflowy_web_app/package.json @@ -46,6 +46,7 @@ "dexie-react-hooks": "^1.1.7", "emoji-mart": "^5.5.2", "emoji-regex": "^10.2.1", + "escape-string-regexp": "^5.0.0", "events": "^3.3.0", "google-protobuf": "^3.15.12", "highlight.js": "^11.10.0", @@ -150,6 +151,7 @@ "cross-env": "^7.0.3", "cypress": "^13.7.2", "cypress-image-snapshot": "^4.0.1", + "cypress-real-events": "^1.13.0", "eslint": "^8.57.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", diff --git a/frontend/appflowy_web_app/pnpm-lock.yaml b/frontend/appflowy_web_app/pnpm-lock.yaml index c02373ffa35e..eecd89ab6884 100644 --- a/frontend/appflowy_web_app/pnpm-lock.yaml +++ b/frontend/appflowy_web_app/pnpm-lock.yaml @@ -71,6 +71,9 @@ dependencies: emoji-regex: specifier: ^10.2.1 version: 10.3.0 + escape-string-regexp: + specifier: ^5.0.0 + version: 5.0.0 events: specifier: ^3.3.0 version: 3.3.0 @@ -379,6 +382,9 @@ devDependencies: cypress-image-snapshot: specifier: ^4.0.1 version: 4.0.1(cypress@13.7.2)(jest@29.5.0) + cypress-real-events: + specifier: ^1.13.0 + version: 1.13.0(cypress@13.7.2) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -5801,6 +5807,14 @@ packages: - jest dev: true + /cypress-real-events@1.13.0(cypress@13.7.2): + resolution: {integrity: sha512-LoejtK+dyZ1jaT8wGT5oASTPfsNV8/ClRp99ruN60oPj8cBJYod80iJDyNwfPAu4GCxTXOhhAv9FO65Hpwt6Hg==} + peerDependencies: + cypress: ^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x + dependencies: + cypress: 13.7.2 + dev: true + /cypress@13.7.2: resolution: {integrity: sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} @@ -6378,6 +6392,11 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: false + /escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} diff --git a/frontend/appflowy_web_app/src/application/slate-yjs/__tests__/withTestingYjsEditor.ts b/frontend/appflowy_web_app/src/application/slate-yjs/__tests__/withTestingYjsEditor.ts index 02b37633a8a2..6736e3d940fc 100644 --- a/frontend/appflowy_web_app/src/application/slate-yjs/__tests__/withTestingYjsEditor.ts +++ b/frontend/appflowy_web_app/src/application/slate-yjs/__tests__/withTestingYjsEditor.ts @@ -20,6 +20,7 @@ export function generateId () { export function withTestingYjsEditor (editor: Editor, doc: Y.Doc) { const yjdEditor = withYjs(editor, doc, { localOrigin: CollabOrigin.Local, + readOnly: true, }); return yjdEditor; diff --git a/frontend/appflowy_web_app/src/application/slate-yjs/command/const.ts b/frontend/appflowy_web_app/src/application/slate-yjs/command/const.ts new file mode 100644 index 000000000000..2c05c7b6cab9 --- /dev/null +++ b/frontend/appflowy_web_app/src/application/slate-yjs/command/const.ts @@ -0,0 +1,16 @@ +import { BlockType } from '@/application/types'; + +/** List block types */ +export const ListBlockTypes = [BlockType.TodoListBlock, BlockType.BulletedListBlock, BlockType.NumberedListBlock]; + +/** Container block types */ +export const CONTAINER_BLOCK_TYPES = [ + BlockType.ToggleListBlock, + BlockType.TodoListBlock, + BlockType.Paragraph, + BlockType.QuoteBlock, + BlockType.BulletedListBlock, + BlockType.NumberedListBlock, + BlockType.Page, +]; +export const SOFT_BREAK_TYPES = [BlockType.CalloutBlock, BlockType.CodeBlock]; \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/application/slate-yjs/command/index.ts b/frontend/appflowy_web_app/src/application/slate-yjs/command/index.ts index d382657176e7..6336ed216530 100644 --- a/frontend/appflowy_web_app/src/application/slate-yjs/command/index.ts +++ b/frontend/appflowy_web_app/src/application/slate-yjs/command/index.ts @@ -1,17 +1,35 @@ import { YjsEditor } from '@/application/slate-yjs/plugins/withYjs'; +import { EditorMarkFormat } from '@/application/slate-yjs/types'; import { dataStringTOJson, executeOperations, - getBlock, getBlockEntry, getSelectionOrThrow, getSharedRoot, - handleCollapsedBreak, handleDeleteEntireDocument, handleMergeBlockBackward, handleNonParagraphBlockBackspace, - handleRangeBreak, handleShouldLiftBlockBackspace, - handleMergeBlockForward, - removeRange, + getBlock, + getBlockEntry, + getSelectionOrThrow, + getSharedRoot, + handleCollapsedBreakWithTxn, + handleDeleteEntireDocumentWithTxn, + handleIndentBlockWithTxn, + handleLiftBlockOnBackspaceAndEnterWithTxn, + handleLiftBlockOnTabWithTxn, + handleMergeBlockBackwardWithTxn, + handleMergeBlockForwardWithTxn, + handleNonParagraphBlockBackspaceAndEnterWithTxn, + handleRangeBreak, + removeRangeWithTxn, + turnToBlock, } from '@/application/slate-yjs/utils/yjsOperations'; -import { BlockData, BlockType, InlineBlockType, Mention, MentionType, YjsEditorKey } from '@/application/types'; -import { FormulaNode } from '@/components/editor/editor.type'; +import { + BlockData, + BlockType, + MentionType, + TodoListBlockData, + ToggleListBlockData, + YjsEditorKey, +} from '@/application/types'; import { renderDate } from '@/utils/time'; -import { BaseRange, Editor, Element, Node, NodeEntry, Range, Text, Transforms } from 'slate'; +import isEqual from 'lodash-es/isEqual'; +import { BasePoint, BaseRange, Editor, Element, Node, NodeEntry, Path, Range, Text, Transforms } from 'slate'; import { ReactEditor } from 'slate-react'; export const CustomEditor = { @@ -25,19 +43,6 @@ export const CustomEditor = { }, // Get the text content of a block node, including the text content of its children and formula nodes getBlockTextContent (node: Node): string { - if (Element.isElement(node)) { - if (node.type === InlineBlockType.Formula) { - return (node as FormulaNode).data || ''; - } - - if (node.type === InlineBlockType.Mention && (node.data as Mention)?.type === MentionType.Date) { - const date = (node.data as Mention).date || ''; - const isUnix = date?.length === 10; - - return renderDate(date, 'MMM DD, YYYY', isUnix); - } - } - if (Text.isText(node)) { if (node.formula) { return node.formula; @@ -63,9 +68,8 @@ export const CustomEditor = { }, setBlockData<T = BlockData> (editor: YjsEditor, blockId: string, updateData: T, select?: boolean) { - const readonly = editor.isElementReadOnly(editor); - if (readonly) { + if (editor.readOnly) { return; } @@ -75,25 +79,36 @@ export const CustomEditor = { ...oldData, ...updateData, }; - const operations = [() => { - block.set(YjsEditorKey.block_data, JSON.stringify(newData)); - }]; - const entry = Editor.above(editor, { + + const newProperties = { + data: newData, + } as Partial<Element>; + const [entry] = editor.nodes({ + at: [], match: (n) => !Editor.isEditor(n) && Element.isElement(n) && n.blockId === blockId, }); - executeOperations(editor.sharedRoot, operations, 'setBlockData'); - - if (!select) return; - if (!entry) { - Transforms.select(editor, Editor.start(editor, [0])); + console.error('Block not found'); return; } - const nodePath = entry[1]; + const [, path] = entry; + let atChild = false; + const { selection } = editor; + + if (selection && Path.isAncestor(path, selection.anchor.path)) { + atChild = true; + } + + Transforms.setNodes(editor, newProperties, { at: path }); + + if (!select) return; + + if (atChild) { + Transforms.select(editor, Editor.start(editor, path)); + } - Transforms.select(editor, Editor.start(editor, nodePath)); }, // Insert break line at the specified path insertBreak (editor: YjsEditor, at?: BaseRange) { @@ -103,7 +118,7 @@ export const CustomEditor = { const isCollapsed = Range.isCollapsed(newAt); if (isCollapsed) { - handleCollapsedBreak(editor, sharedRoot, newAt); + handleCollapsedBreakWithTxn(editor, sharedRoot, newAt); } else { handleRangeBreak(editor, sharedRoot, newAt); } @@ -126,18 +141,18 @@ export const CustomEditor = { const blockType = block.get(YjsEditorKey.block_type) as BlockType; if (blockType !== BlockType.Paragraph) { - handleNonParagraphBlockBackspace(sharedRoot, block); + handleNonParagraphBlockBackspaceAndEnterWithTxn(sharedRoot, block); return; } - if (path.length > 1 && handleShouldLiftBlockBackspace(editor, sharedRoot, block, point)) { + if (path.length > 1 && handleLiftBlockOnBackspaceAndEnterWithTxn(editor, sharedRoot, block, point)) { return; } - handleMergeBlockBackward(editor, node, point); + handleMergeBlockBackwardWithTxn(editor, node, point); } else { Transforms.collapse(editor, { edge: 'start' }); - removeRange(editor, sharedRoot, newAt); + removeRangeWithTxn(editor, sharedRoot, newAt); } }, @@ -154,18 +169,103 @@ export const CustomEditor = { const [node] = blockEntry as NodeEntry<Element>; - handleMergeBlockForward(editor, node, point); + handleMergeBlockForwardWithTxn(editor, node, point); } else { Transforms.collapse(editor, { edge: 'start' }); - removeRange(editor, sharedRoot, newAt); + removeRangeWithTxn(editor, sharedRoot, newAt); } }, deleteEntireDocument (editor: YjsEditor) { - handleDeleteEntireDocument(editor); + handleDeleteEntireDocumentWithTxn(editor); }, removeRange (editor: YjsEditor, at: BaseRange) { - removeRange(editor, getSharedRoot(editor), at); + removeRangeWithTxn(editor, getSharedRoot(editor), at); + }, + + tabForward (editor: YjsEditor, point: BasePoint) { + const sharedRoot = getSharedRoot(editor); + const [node] = getBlockEntry(editor, point); + + const block = getBlock(node.blockId as string, sharedRoot); + + handleIndentBlockWithTxn(editor, sharedRoot, block, point); + }, + + tabBackward (editor: YjsEditor, point: BasePoint) { + const sharedRoot = getSharedRoot(editor); + const [node] = getBlockEntry(editor, point); + + const block = getBlock(node.blockId as string, sharedRoot); + + handleLiftBlockOnTabWithTxn(editor, sharedRoot, block, point); + }, + + toggleToggleList (editor: YjsEditor, blockId: string) { + const sharedRoot = getSharedRoot(editor); + const data = dataStringTOJson(getBlock(blockId, sharedRoot).get(YjsEditorKey.block_data)) as ToggleListBlockData; + const { selection } = editor; + + if (!selection) return; + + if (Range.isExpanded(selection)) { + Transforms.collapse(editor, { edge: 'start' }); + } + + const point = Editor.start(editor, selection); + + const [node] = getBlockEntry(editor, point); + + CustomEditor.setBlockData(editor, blockId, { + collapsed: !data.collapsed, + }, node.blockId !== blockId); + }, + + toggleTodoList (editor: YjsEditor, blockId: string) { + const sharedRoot = getSharedRoot(editor); + const data = dataStringTOJson(getBlock(blockId, sharedRoot).get(YjsEditorKey.block_data)) as TodoListBlockData; + + CustomEditor.setBlockData(editor, blockId, { + checked: !data.checked, + }, false); + }, + + toggleMark (editor: ReactEditor, { + key, value, + }: { + key: EditorMarkFormat, value: boolean | string + }) { + if (editor.marks && Object.keys(editor.marks).includes(key)) { + editor.removeMark(key); + } else { + editor.addMark(key, value); + } + }, + + addMark (editor: ReactEditor, { + key, value, + }: { + key: EditorMarkFormat, value: boolean | string + }) { + editor.addMark(key, value); + }, + + turnToBlock<T extends BlockData> (editor: YjsEditor, blockId: string, type: BlockType, data: T) { + const operations: (() => void)[] = []; + const sharedRoot = getSharedRoot(editor); + const sourceBlock = getBlock(blockId, sharedRoot); + const sourceType = sourceBlock.get(YjsEditorKey.block_type) as BlockType; + const oldData = dataStringTOJson(sourceBlock.get(YjsEditorKey.block_data)); + + if (sourceType === type && isEqual(oldData, data)) { + return; + } + + operations.push(() => { + turnToBlock(sharedRoot, sourceBlock, type, data); + }); + + executeOperations(sharedRoot, operations, 'turnToBlock'); }, }; diff --git a/frontend/appflowy_web_app/src/application/slate-yjs/plugins/withHistory.ts b/frontend/appflowy_web_app/src/application/slate-yjs/plugins/withHistory.ts index 5c92deb0324c..be8f7a6c182a 100644 --- a/frontend/appflowy_web_app/src/application/slate-yjs/plugins/withHistory.ts +++ b/frontend/appflowy_web_app/src/application/slate-yjs/plugins/withHistory.ts @@ -39,7 +39,7 @@ export function withYHistory<T extends YjsEditor> ( ): T & YHistoryEditor { const e = editor as T & YHistoryEditor; - if (Editor.isElementReadOnly(e, e)) { + if (e.readOnly) { return e; } @@ -52,6 +52,7 @@ export function withYHistory<T extends YjsEditor> ( e.onChange = () => { onChange(); + const selection = e.selection; try { diff --git a/frontend/appflowy_web_app/src/application/slate-yjs/plugins/withYjs.ts b/frontend/appflowy_web_app/src/application/slate-yjs/plugins/withYjs.ts index 2484fb90bd75..69d9225d9278 100644 --- a/frontend/appflowy_web_app/src/application/slate-yjs/plugins/withYjs.ts +++ b/frontend/appflowy_web_app/src/application/slate-yjs/plugins/withYjs.ts @@ -11,6 +11,7 @@ type LocalChange = { }; export interface YjsEditor extends Editor { + readOnly: boolean; isYjsEditor: (value: unknown) => value is YjsEditor; connect: () => void; disconnect: () => void; @@ -71,16 +72,18 @@ export function withYjs<T extends Editor> ( editor: T, doc: Y.Doc, opts?: { + readOnly: boolean; localOrigin: CollabOrigin; readSummary?: boolean; onContentChange?: (content: Descendant[]) => void; }, ): T & YjsEditor { - const { localOrigin = CollabOrigin.Local, readSummary, onContentChange } = opts ?? {}; + const { localOrigin = CollabOrigin.Local, readSummary, onContentChange, readOnly = true } = opts ?? {}; const e = editor as T & YjsEditor; const { apply, onChange } = e; e.interceptLocalChange = false; + e.readOnly = readOnly; e.sharedRoot = doc.getMap(YjsEditorKey.data_section) as YSharedRoot; diff --git a/frontend/appflowy_web_app/src/application/slate-yjs/types.ts b/frontend/appflowy_web_app/src/application/slate-yjs/types.ts index f3f751015c31..9d69589193bb 100644 --- a/frontend/appflowy_web_app/src/application/slate-yjs/types.ts +++ b/frontend/appflowy_web_app/src/application/slate-yjs/types.ts @@ -20,3 +20,17 @@ export interface BlockJson { external_id?: string; } +export enum EditorMarkFormat { + Bold = 'bold', + Italic = 'italic', + Underline = 'underline', + StrikeThrough = 'strikethrough', + Code = 'code', + Href = 'href', + Formula = 'formula', + Mention = 'mention', + FontColor = 'font_color', + BgColor = 'bg_color', + Align = 'align', +} + diff --git a/frontend/appflowy_web_app/src/application/slate-yjs/utils/applyToYjs.ts b/frontend/appflowy_web_app/src/application/slate-yjs/utils/applyToYjs.ts index 681edda52c0d..5690ec512dac 100644 --- a/frontend/appflowy_web_app/src/application/slate-yjs/utils/applyToYjs.ts +++ b/frontend/appflowy_web_app/src/application/slate-yjs/utils/applyToYjs.ts @@ -1,47 +1,132 @@ import { CustomEditor } from '@/application/slate-yjs/command'; -import { getText } from '@/application/slate-yjs/utils/yjsOperations'; +import { EditorMarkFormat } from '@/application/slate-yjs/types'; import { calculateOffsetRelativeToParent } from '@/application/slate-yjs/utils/positions'; +import { getBlock, getNodeAtPath, getText } from '@/application/slate-yjs/utils/yjsOperations'; import { YjsEditorKey, YSharedRoot } from '@/application/types'; -import { Operation, Element, Editor, InsertTextOperation, RemoveTextOperation, Descendant } from 'slate'; +import { + Descendant, + Editor, + Element, InsertNodeOperation, + InsertTextOperation, + Operation, + RemoveTextOperation, + SetNodeOperation, + Text, +} from 'slate'; import * as Y from 'yjs'; // transform slate op to yjs op and apply it to ydoc export function applyToYjs (ydoc: Y.Doc, editor: Editor, op: Operation, slateContent: Descendant[]) { if (op.type === 'set_selection') return; - console.log('applySlateOp', op); + console.log('applySlateOp', op, slateContent); switch (op.type) { case 'insert_text': return applyInsertText(ydoc, editor, op, slateContent); case 'remove_text': return applyRemoveText(ydoc, editor, op, slateContent); + case 'set_node': + return applySetNode(ydoc, editor, op, slateContent); + case 'insert_node': + return applyInsertNode(ydoc, editor, op, slateContent); default: return; } } -function applyInsertText (ydoc: Y.Doc, editor: Editor, op: InsertTextOperation, _slateContent: Descendant[]) { - const { path, offset, text } = op; +function getAttributesAtOffset (ytext: Y.Text, offset: number): object | null { + const delta = ytext.toDelta(); + let currentOffset = 0; + + for (const op of delta) { + if ('insert' in op) { + const length = op.insert.length; + + if (currentOffset <= offset && offset < currentOffset + length) { + return op.attributes || null; + } + + currentOffset += length; + } + } + + return null; +} + +function insertText (ydoc: Y.Doc, editor: Editor, { path, offset, text, attributes }: InsertTextOperation & { + attributes?: object; +}) { const node = findSlateNode(editor, path); const textId = node.textId as string; const sharedRoot = ydoc.getMap(YjsEditorKey.data_section) as YSharedRoot; const yText = getText(textId, sharedRoot); + + if (!yText) return; const point = { path, offset }; const relativeOffset = Math.min(calculateOffsetRelativeToParent(node, point), yText.toJSON().length); + const beforeAttributes = getAttributesAtOffset(yText, relativeOffset - 1); + + console.log('beforeAttributes', beforeAttributes); + + if (beforeAttributes && ('formula' in beforeAttributes || 'mention' in beforeAttributes)) { + const newAttributes = { + ...attributes, + }; + + if ('formula' in beforeAttributes) { + Object.assign({ + formula: undefined, + }); + } - yText.insert(relativeOffset, text); + if ('mention' in beforeAttributes) { + Object.assign({ + mention: undefined, + }); + } + + yText.insert(relativeOffset, text, newAttributes); + } else { + yText.insert(relativeOffset, text, attributes); + } + + console.log('insertText', attributes, yText.toDelta()); + +} + +function applyInsertText (ydoc: Y.Doc, editor: Editor, op: InsertTextOperation, _slateContent: Descendant[]) { + const { path, offset, text } = op; + + insertText(ydoc, editor, { path, offset, text, type: 'insert_text' }); +} + +function applyInsertNode (ydoc: Y.Doc, editor: Editor, op: InsertNodeOperation, _slateContent: Descendant[]) { + const { path, node } = op; + + if (!Text.isText(node)) return; + const text = node.text; + const offset = 0; + + insertText(ydoc, editor, { + path, offset, text, type: 'insert_text', + }); } function applyRemoveText (ydoc: Y.Doc, editor: Editor, op: RemoveTextOperation, slateContent: Descendant[]) { const { path, offset, text } = op; - const node = (slateContent[0] as Element)?.children?.[0] as Element; + + const node = getNodeAtPath(slateContent, path.slice(0, -1)) as Element; + const textId = node.textId; if (!textId) return; const sharedRoot = ydoc.getMap(YjsEditorKey.data_section) as YSharedRoot; const yText = getText(textId, sharedRoot); + + if (!yText) return; + const point = { path, offset }; const relativeOffset = Math.min(calculateOffsetRelativeToParent(node, point), yText.toJSON().length); @@ -53,4 +138,54 @@ function findSlateNode (editor: Editor, path: number[]): Element { const entry = CustomEditor.findTextNode(editor, path); return entry[0]; +} + +function applySetNode (ydoc: Y.Doc, editor: Editor, op: SetNodeOperation, slateContent: Descendant[]) { + const { newProperties, path } = op; + const leafKeys = Object.values(EditorMarkFormat) as string[]; + const properties = Object.keys(newProperties); + + const isLeaf = properties.some((prop: string) => leafKeys.includes(prop)); + const isData = properties.some((prop: string) => prop === 'data'); + const sharedRoot = ydoc.getMap(YjsEditorKey.data_section) as YSharedRoot; + + console.log('applySetNode isLeaf', isLeaf, op); + if (isLeaf) { + const node = getNodeAtPath(slateContent, path.slice(0, -1)) as Element; + const textId = node.textId; + + if (!textId) return; + + const yText = getText(textId, sharedRoot); + const [start, end] = Editor.edges(editor, path); + + const startRelativeOffset = Math.min(calculateOffsetRelativeToParent(node, start), yText.toJSON().length); + const endRelativeOffset = Math.min(calculateOffsetRelativeToParent(node, end), yText.toJSON().length); + + const length = endRelativeOffset - startRelativeOffset; + + yText.format(startRelativeOffset, length, newProperties); + return; + } + + if (isData) { + const node = getNodeAtPath(slateContent, path) as Element; + const blockId = node.blockId as string; + + if (!blockId) { + console.error('blockId is not found in node', node, newProperties); + return; + } + + const block = getBlock(blockId, sharedRoot); + + if ( + 'data' in newProperties + ) { + block.set(YjsEditorKey.block_data, JSON.stringify(newProperties.data)); + return; + } + } + + console.error('set_node operation is not supported', op); } \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/application/slate-yjs/utils/yjsOperations.ts b/frontend/appflowy_web_app/src/application/slate-yjs/utils/yjsOperations.ts index 5394716645ee..d424f1b010be 100644 --- a/frontend/appflowy_web_app/src/application/slate-yjs/utils/yjsOperations.ts +++ b/frontend/appflowy_web_app/src/application/slate-yjs/utils/yjsOperations.ts @@ -1,6 +1,8 @@ +import { CONTAINER_BLOCK_TYPES, ListBlockTypes } from '@/application/slate-yjs/command/const'; import { BlockData, - BlockType, ToggleListBlockData, + BlockType, + ToggleListBlockData, YBlock, YBlocks, YChildrenMap, @@ -13,7 +15,7 @@ import { import { nanoid } from 'nanoid'; import Delta, { Op } from 'quill-delta'; -import { BaseRange, Editor, Element, Node, NodeEntry, Path, Point, Range, Transforms } from 'slate'; +import { BaseRange, Descendant, Editor, Element, Node, NodeEntry, Path, Point, Range, Transforms } from 'slate'; import * as Y from 'yjs'; import { YjsEditor } from '../plugins/withYjs'; import { slatePointToRelativePosition } from './positions'; @@ -105,9 +107,9 @@ export function updateBlockParent (sharedRoot: YSharedRoot, block: YBlock, paren parentChildren.insert(index, [block.get(YjsEditorKey.block_id)]); } -export function handleCollapsedBreak (editor: YjsEditor, sharedRoot: YSharedRoot, at: BaseRange) { +export function handleCollapsedBreakWithTxn (editor: YjsEditor, sharedRoot: YSharedRoot, at: BaseRange) { const { startBlock, startOffset } = getBreakInfo(editor, sharedRoot, at); - const [blockNode] = startBlock; + const [blockNode, path] = startBlock; const blockId = blockNode.blockId as string; const block = getBlock(blockId, sharedRoot); @@ -115,6 +117,22 @@ export function handleCollapsedBreak (editor: YjsEditor, sharedRoot: YSharedRoot throw new Error('Block not found'); } + const blockType = block.get(YjsEditorKey.block_type); + const yText = getText(block.get(YjsEditorKey.block_external_id), sharedRoot); + + if (yText.length === 0) { + if (blockType !== BlockType.Paragraph) { + handleNonParagraphBlockBackspaceAndEnterWithTxn(sharedRoot, block); + return; + } + + const point = Editor.start(editor, at); + + if (path.length > 1 && handleLiftBlockOnBackspaceAndEnterWithTxn(editor, sharedRoot, block, point)) { + return; + } + } + const { operations, select } = getSplitBlockOperations(sharedRoot, block, startOffset); executeOperations(sharedRoot, operations, 'insertBreak'); @@ -126,7 +144,7 @@ export function handleCollapsedBreak (editor: YjsEditor, sharedRoot: YSharedRoot } } -export function removeRange (editor: YjsEditor, sharedRoot: YSharedRoot, range: Range) { +export function removeRangeWithTxn (editor: YjsEditor, sharedRoot: YSharedRoot, range: Range) { const { startBlock, endBlock, middleBlocks, startRange, endRange } = getAffectedBlocks(editor, range); const operations: (() => void)[] = []; const isSameBlock = startBlock[0].blockId === endBlock[0].blockId; @@ -166,13 +184,13 @@ export function liftChildren (sharedRoot: YSharedRoot, sourceBlock: YBlock, targ } export function handleRangeBreak (editor: YjsEditor, sharedRoot: YSharedRoot, range: Range) { - removeRange(editor, sharedRoot, range); + removeRangeWithTxn(editor, sharedRoot, range); const selection = editor.selection; if (!selection) return; - handleCollapsedBreak(editor, sharedRoot, selection); + handleCollapsedBreakWithTxn(editor, sharedRoot, selection); } export function copyBlockText (sharedRoot: YSharedRoot, sourceBlock: YBlock, targetBlock: YBlock) { @@ -197,8 +215,6 @@ export function turnToBlock<T extends BlockData> (sharedRoot: YSharedRoot, sourc copyBlockText(sharedRoot, sourceBlock, newBlock); - transferChildren(sharedRoot, sourceBlock, newBlock); - const parent = getBlock(sourceBlock.get(YjsEditorKey.block_parent), sharedRoot); if (!parent) return; @@ -206,10 +222,16 @@ export function turnToBlock<T extends BlockData> (sharedRoot: YSharedRoot, sourc const parentChildren = getChildrenArray(parent.get(YjsEditorKey.block_children), sharedRoot); const index = parentChildren.toArray().findIndex((id) => id === sourceBlock.get(YjsEditorKey.block_id)); + updateBlockParent(sharedRoot, newBlock, parent, index); + + if (CONTAINER_BLOCK_TYPES.includes(type)) { + transferChildren(sharedRoot, sourceBlock, newBlock); + } else { + liftChildren(sharedRoot, sourceBlock, newBlock); + } + // delete source block deleteBlock(sharedRoot, sourceBlock.get(YjsEditorKey.block_id)); - - updateBlockParent(sharedRoot, newBlock, parent, index); } function getSplitBlockOperations (sharedRoot: YSharedRoot, block: YBlock, offset: number): { @@ -219,31 +241,21 @@ function getSplitBlockOperations (sharedRoot: YSharedRoot, block: YBlock, offset const operations: (() => void)[] = []; if (offset === 0) { - const yText = getText(block.get(YjsEditorKey.block_external_id), sharedRoot); - - if (yText.length === 0) { - operations.push(() => { - turnToBlock(sharedRoot, block, BlockType.Paragraph, {}); - }); - return { operations, select: false }; - } else { - operations.push(() => { - const listBlockTypes = [BlockType.TodoListBlock, BlockType.BulletedListBlock, BlockType.NumberedListBlock]; - const type = block.get(YjsEditorKey.block_type); - const data = dataStringTOJson(block.get(YjsEditorKey.block_data)); - const isList = listBlockTypes.includes(type); - const newBlock = createBlock(sharedRoot, { - ty: isList ? type : BlockType.Paragraph, - data: isList ? data : {}, - }); - const parent = getBlock(block.get(YjsEditorKey.block_parent), sharedRoot); - const parentChildren = getChildrenArray(parent.get(YjsEditorKey.block_children), sharedRoot); - const index = parentChildren.toArray().findIndex((id) => id === block.get(YjsEditorKey.block_id)); - const prevIndex = index <= 0 ? 0 : index; - - updateBlockParent(sharedRoot, newBlock, parent, prevIndex); + operations.push(() => { + const type = block.get(YjsEditorKey.block_type); + const data = dataStringTOJson(block.get(YjsEditorKey.block_data)); + const isList = ListBlockTypes.includes(type); + const newBlock = createBlock(sharedRoot, { + ty: isList ? type : BlockType.Paragraph, + data: isList ? data : {}, }); - } + const parent = getBlock(block.get(YjsEditorKey.block_parent), sharedRoot); + const parentChildren = getChildrenArray(parent.get(YjsEditorKey.block_children), sharedRoot); + const index = parentChildren.toArray().findIndex((id) => id === block.get(YjsEditorKey.block_id)); + const prevIndex = index <= 0 ? 0 : index; + + updateBlockParent(sharedRoot, newBlock, parent, prevIndex); + }); return { operations, select: true }; } @@ -354,7 +366,6 @@ export function getAffectedBlocks (editor: YjsEditor, range: Range): { endRange = Editor.range(editor, Editor.start(editor, endBlock[1]), end); } - console.log('startBlock', startBlock, endBlock, middleBlocks, startRange, endRange); return { startBlock, endBlock, middleBlocks, startRange, endRange }; } @@ -365,7 +376,6 @@ function getTextIdFromSlateNode (node: Element) { export function deleteSlateRangeInBlock (sharedRoot: YSharedRoot, editor: Editor, block: Element, range: BaseRange) { const [start, end] = Editor.edges(editor, range); - console.log('deleteSlateRangeInBlock', start, end); const relativeOffset = slatePointToRelativePosition(sharedRoot, editor, start); const startPos = Y.createAbsolutePositionFromRelativePosition(relativeOffset.point, assertDocExists(sharedRoot)); const endRelativeOffset = slatePointToRelativePosition(sharedRoot, editor, end); @@ -392,10 +402,8 @@ export function deleteRangeInBlock ( const yText = getText(textId, sharedRoot); - console.log('deleteRangeInBlock', start, end - start); yText.delete(start, end - start); - console.log('deleteRangeInBlock', yText.toJSON()); } export function mergeBlocks ( @@ -433,14 +441,7 @@ export function mergeBlocks ( function mergeBlockChildren (sharedRoot: YSharedRoot, sourceBlock: YBlock, targetBlock: YBlock) { const targetType = targetBlock.get(YjsEditorKey.block_type); - if ([ - BlockType.ToggleListBlock, - BlockType.TodoListBlock, - BlockType.Paragraph, - BlockType.QuoteBlock, - BlockType.BulletedListBlock, - BlockType.NumberedListBlock, - ].includes(targetType)) { + if (CONTAINER_BLOCK_TYPES.includes(targetType)) { transferChildren(sharedRoot, sourceBlock, targetBlock, 0); } else { liftChildren(sharedRoot, sourceBlock, targetBlock); @@ -543,11 +544,13 @@ export function getSplitBlockType (block: YBlock) { } } - case BlockType.HeadingBlock: - case BlockType.QuoteBlock: - return BlockType.Paragraph; - default: + case BlockType.BulletedListBlock: + case BlockType.NumberedListBlock: + case BlockType.TodoListBlock: return block.get(YjsEditorKey.block_type); + + default: + return BlockType.Paragraph; } } @@ -572,7 +575,7 @@ export function splitBlock (sharedRoot: YSharedRoot, block: YBlock, offset: numb const blockType = block.get(YjsEditorKey.block_type); - if (blockType === BlockType.ToggleListBlock) { + if (blockType === BlockType.ToggleListBlock || blockType === BlockType.QuoteBlock) { const data = dataStringTOJson(block.get(YjsEditorKey.block_data)) as ToggleListBlockData; if (!data.collapsed) { @@ -644,7 +647,6 @@ function deepCopyChildren (sharedRoot: YSharedRoot, sourceArray: Y.Array<string> const sourceArraySorted = index === undefined ? sourceArray.toArray() : sourceArray.toArray().reverse(); - console.log('deepCopyChildren', index); sourceArraySorted.forEach((childId) => { const sourceChild = getBlock(childId, sharedRoot); @@ -723,7 +725,14 @@ export function getSelectionOrThrow (editor: YjsEditor, at?: BaseRange) { return newAt; } -export function getBlockEntry (editor: YjsEditor, point: Point) { +export function getBlockEntry (editor: YjsEditor, point?: Point) { + const { selection } = editor; + const at = point || (selection ? Editor.start(editor, selection) : null); + + if (!at) { + throw new Error('Point not found'); + } + const blockEntry = editor.above({ at: point, match: (n) => !Editor.isEditor(n) && Element.isElement(n) && n.blockId !== undefined, @@ -736,7 +745,7 @@ export function getBlockEntry (editor: YjsEditor, point: Point) { return blockEntry as NodeEntry<Element>; } -export function handleNonParagraphBlockBackspace (sharedRoot: YSharedRoot, block: YBlock) { +export function handleNonParagraphBlockBackspaceAndEnterWithTxn (sharedRoot: YSharedRoot, block: YBlock) { const operations: (() => void)[] = []; operations.push(() => { @@ -745,27 +754,109 @@ export function handleNonParagraphBlockBackspace (sharedRoot: YSharedRoot, block executeOperations(sharedRoot, operations, 'turnToBlock'); } -export function handleShouldLiftBlockBackspace (editor: YjsEditor, sharedRoot: YSharedRoot, block: YBlock, point: Point) { +export function handleLiftBlockOnTabWithTxn (editor: YjsEditor, sharedRoot: YSharedRoot, block: YBlock, point: Point) { + const operations: (() => void)[] = []; + const [, path] = getBlockEntry(editor, point); + + let newPath: number[] | undefined; + + operations.push(() => { + newPath = liftEditorNode(editor, sharedRoot, block, point); + }); + + executeOperations(sharedRoot, operations, 'liftBlock'); + if (!newPath) return; + + const newPoint = { + path: [...newPath, ...point.path.slice(path.length)], + offset: point.offset, + }; + + // After the lift operation is complete, move the cursor to the start of the newly lifted block + Transforms.select(editor, newPoint); +} + +export function handleLiftBlockOnBackspaceAndEnterWithTxn (editor: YjsEditor, sharedRoot: YSharedRoot, block: YBlock, point: Point) { const operations: (() => void)[] = []; const parent = getBlock(block.get(YjsEditorKey.block_parent), sharedRoot); const parentChildren = getChildrenArray(parent.get(YjsEditorKey.block_children), sharedRoot); const index = parentChildren.toArray().findIndex((id) => id === block.get(YjsEditorKey.block_id)); + const [, path] = getBlockEntry(editor, point); const hasNextSibling = index < parentChildren.length - 1; const hasChildren = getChildrenArray(block.get(YjsEditorKey.block_children), sharedRoot).length > 0; if (!hasChildren && !hasNextSibling) { + let newPath: number[] | undefined; + operations.push(() => { - liftEditorNode(editor, sharedRoot, block, point); + newPath = liftEditorNode(editor, sharedRoot, block, point); }); - executeOperations(sharedRoot, operations, 'deleteBlockBackward'); + executeOperations(sharedRoot, operations, 'liftBlock'); + if (!newPath) return; + + const newPoint = { + path: [...newPath, ...point.path.slice(path.length)], + offset: point.offset, + }; + + // After the lift operation is complete, move the cursor to the start of the newly lifted block + Transforms.select(editor, newPoint); return true; } return false; } -export function handleMergeBlockBackward (editor: YjsEditor, node: Element, point: Point) { +export function handleIndentBlockWithTxn (editor: YjsEditor, sharedRoot: YSharedRoot, block: YBlock, point: Point) { + const operations: (() => void)[] = []; + const parent = getBlock(block.get(YjsEditorKey.block_parent), sharedRoot); + const parentChildren = getChildrenArray(parent.get(YjsEditorKey.block_children), sharedRoot); + const index = parentChildren.toArray().findIndex((id) => id === block.get(YjsEditorKey.block_id)); + const parentType = parent.get(YjsEditorKey.block_type); + const [, path] = getBlockEntry(editor, point); + + // Check if the parent block is a container block + if (!CONTAINER_BLOCK_TYPES.includes(parentType)) { + return false; + } + + // Check if the block can be indented (not the first child) + if (index === 0) { + return false; + } + + // Get the previous sibling + const previousSiblingId = parentChildren.get(index - 1); + const previousSibling = getBlock(previousSiblingId, sharedRoot); + + if (!previousSibling) { + return false; + } + + let newPath: number[] | undefined; + + operations.push(() => { + newPath = indentEditorNode(editor, sharedRoot, block, point); + }); + + executeOperations(sharedRoot, operations, 'indentBlock'); + + if (!newPath) return; + + const newPoint = { + path: [...newPath, ...point.path.slice(path.length)], + offset: point.offset, + }; + + console.log('newPath:', newPath, 'newPoint:', newPoint); + + Transforms.select(editor, newPoint); + + return true; +} + +export function handleMergeBlockBackwardWithTxn (editor: YjsEditor, node: Element, point: Point) { const operations: (() => void)[] = []; const sharedRoot = getSharedRoot(editor); @@ -799,7 +890,7 @@ export function handleMergeBlockBackward (editor: YjsEditor, node: Element, poin executeOperations(sharedRoot, operations, 'deleteBlockBackward'); } -export function handleMergeBlockForward (editor: YjsEditor, node: Element, point: Point) { +export function handleMergeBlockForwardWithTxn (editor: YjsEditor, node: Element, point: Point) { const operations: (() => void)[] = []; const sharedRoot = getSharedRoot(editor); @@ -850,8 +941,40 @@ export function liftEditorNode (editor: YjsEditor, sharedRoot: YSharedRoot, bloc // Calculate the position where the new block should be after the lift operation const nextPath = Path.next(parentPath); - // After the lift operation is complete, move the cursor to the start of the newly lifted block - Transforms.select(editor, Editor.start(editor, nextPath)); + return nextPath; + +} + +export function indentEditorNode (editor: YjsEditor, sharedRoot: YSharedRoot, block: YBlock, point: Point) { + // Find the path of the current block + const [, path] = getBlockEntry(editor, point); + const index = path[path.length - 1]; + + console.log('indentEditorNode:', block.get(YjsEditorKey.block_id), 'at index', index, editor.children); + // Check if the block can be indented (not the first child) + if (index === 0) { + console.warn('Cannot indent: block is the first child'); + return; + } + + // Get the previous sibling's path + const previousSiblingPath = Path.previous(path); + const previousSibling = Editor.above(editor, { + at: [...previousSiblingPath, 0], + match: (n) => !Editor.isEditor(n) && Element.isElement(n) && n.blockId !== undefined, + }); + const [previousNode] = previousSibling as NodeEntry<Element>; + + // This is to prevent errors caused by invalid paths when the original node is deleted during the indent process + Transforms.select(editor, Editor.start(editor, previousSiblingPath)); + + // Perform the indent operation on the Yjs document + indentBlock(sharedRoot, block); + + const newPath = [...previousSiblingPath, previousNode.children.length]; + + return newPath; + } export function liftBlock (sharedRoot: YSharedRoot, block: YBlock) { @@ -888,7 +1011,55 @@ export function liftBlock (sharedRoot: YSharedRoot, block: YBlock) { moveNode(sharedRoot, block, grandParent, parentIndex + 1); } +export function indentBlock (sharedRoot: YSharedRoot, block: YBlock) { + const parentId = block.get(YjsEditorKey.block_parent); + const parent = getBlock(parentId, sharedRoot); + + if (!parent) { + console.warn('Cannot indent block: parent not found'); + return; + } + + const parentChildrenArray = getChildrenArray(parent.get(YjsEditorKey.block_children), sharedRoot); + + if (!parentChildrenArray) { + console.warn('Cannot indent block: parent children array not found'); + return; + } + + const blockIndex = parentChildrenArray.toArray().findIndex((id) => id === block.get(YjsEditorKey.block_id)); + + if (blockIndex === -1) { + console.warn('Cannot indent block: block not found in parent\'s children'); + return; + } + + if (blockIndex === 0) { + console.warn('Cannot indent block: block is the first child'); + return; + } + + const previousSiblingId = parentChildrenArray.get(blockIndex - 1); + const previousSibling = getBlock(previousSiblingId, sharedRoot); + + if (!previousSibling) { + console.warn('Cannot indent block: previous sibling not found'); + return; + } + + const previousSiblingChildrenArray = getChildrenArray(previousSibling.get(YjsEditorKey.block_children), sharedRoot); + + if (!previousSiblingChildrenArray) { + console.warn('Cannot indent block: previous sibling children array not found'); + return; + } + + return moveNode(sharedRoot, block, previousSibling, previousSiblingChildrenArray.length); +} + export function moveNode (sharedRoot: YSharedRoot, sourceBlock: YBlock, targetParent: YBlock, targetIndex: number) { + console.log('moveNode:', sourceBlock.get(YjsEditorKey.block_id), 'to', targetParent.get(YjsEditorKey.block_id), 'at index', targetIndex); + const copiedBlockId = deepCopyBlock(sharedRoot, sourceBlock); if (!copiedBlockId) { @@ -906,6 +1077,8 @@ export function moveNode (sharedRoot: YSharedRoot, sourceBlock: YBlock, targetPa updateBlockParent(sharedRoot, copiedBlock, targetParent, targetIndex); deleteBlock(sharedRoot, sourceBlock.get(YjsEditorKey.block_id)); + + return copiedBlockId; } export function deepCopyBlock (sharedRoot: YSharedRoot, sourceBlock: YBlock): string | null { @@ -966,7 +1139,7 @@ export function appendEmptyParagraph (sharedRoot: YSharedRoot): string { return newBlock.get(YjsEditorKey.block_id); } -export function handleDeleteEntireDocument (editor: YjsEditor) { +export function handleDeleteEntireDocumentWithTxn (editor: YjsEditor) { const sharedRoot = getSharedRoot(editor); const operations = [() => { editor.deselect(); @@ -985,4 +1158,30 @@ export function handleDeleteEntireDocument (editor: YjsEditor) { executeOperations(sharedRoot, operations, 'deleteEntireDocument'); Transforms.select(editor, Editor.start(editor, [0])); +} + +export function getNodeAtPath (children: Descendant[], path: Path): Descendant | null { + let currentNode: Descendant | null = null; + let currentChildren = children; + + for (let i = 0; i < path.length; i++) { + const index = path[i]; + + if (index >= currentChildren.length) { + return null; + } + + currentNode = currentChildren[index]; + if (i === path.length - 1) { + return currentNode; + } + + if (!Element.isElement(currentNode) || !currentNode.children) { + return null; + } + + currentChildren = currentNode.children; + } + + return currentNode; } \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/_shared/katex-math/KatexMath.tsx b/frontend/appflowy_web_app/src/components/_shared/katex-math/KatexMath.tsx index e6c7cac5ed89..22bb1fb43435 100644 --- a/frontend/appflowy_web_app/src/components/_shared/katex-math/KatexMath.tsx +++ b/frontend/appflowy_web_app/src/components/_shared/katex-math/KatexMath.tsx @@ -3,14 +3,15 @@ import 'katex/dist/katex.min.css'; import { BlockMath, InlineMath } from 'react-katex'; import './index.css'; -function KatexMath({ latex, isInline = false }: { latex: string; isInline?: boolean }) { +function KatexMath ({ latex, isInline = false }: { latex: string; isInline?: boolean }) { + return isInline ? ( <InlineMath math={latex} /> ) : ( <BlockMath renderError={(error) => { return ( - <div className='flex h-[51px] items-center justify-center'> + <div className="flex h-[51px] items-center justify-center"> {error.name}: {error.message} </div> ); diff --git a/frontend/appflowy_web_app/src/components/editor/CollaborativeEditor.tsx b/frontend/appflowy_web_app/src/components/editor/CollaborativeEditor.tsx index 92f2e153733f..43387ef60b0a 100644 --- a/frontend/appflowy_web_app/src/components/editor/CollaborativeEditor.tsx +++ b/frontend/appflowy_web_app/src/components/editor/CollaborativeEditor.tsx @@ -14,6 +14,7 @@ const defaultInitialValue: Descendant[] = []; function CollaborativeEditor ({ doc }: { doc: Y.Doc }) { const context = useEditorContext(); const readSummary = context.readSummary; + const readOnly = context.readOnly; const localOrigin = CollabOrigin.Local; const [, setClock] = useState(0); const onContentChange = useCallback(() => { @@ -26,6 +27,7 @@ function CollaborativeEditor ({ doc }: { doc: Y.Doc }) { withReact( withYHistory( withYjs(createEditor(), doc, { + readOnly: readOnly, localOrigin, readSummary, onContentChange, @@ -33,7 +35,7 @@ function CollaborativeEditor ({ doc }: { doc: Y.Doc }) { ), ), ) as YjsEditor), - [onContentChange, readSummary, doc, localOrigin], + [doc, readOnly, localOrigin, readSummary, onContentChange], ); const [, setIsConnected] = useState(false); diff --git a/frontend/appflowy_web_app/src/components/editor/Editable.tsx b/frontend/appflowy_web_app/src/components/editor/Editable.tsx index fe9ffed384c1..998067115474 100644 --- a/frontend/appflowy_web_app/src/components/editor/Editable.tsx +++ b/frontend/appflowy_web_app/src/components/editor/Editable.tsx @@ -1,6 +1,7 @@ import { useDecorate } from '@/components/editor/components/blocks/code/useDecorate'; import { Leaf } from '@/components/editor/components/leaf'; import { useEditorContext } from '@/components/editor/EditorContext'; +import { useShortcuts } from '@/components/editor/shortcut.hooks'; import React, { Suspense, useCallback } from 'react'; import { NodeEntry, Range } from 'slate'; import { Editable, RenderElementProps, useSlate } from 'slate-react'; @@ -19,6 +20,11 @@ const EditorEditable = () => { </Suspense> ); }, []); + + const { + onKeyDown, + } = useShortcuts(editor); + const onCompositionStart = useCallback(() => { const { selection } = editor; @@ -45,6 +51,7 @@ const EditorEditable = () => { autoCorrect={'off'} autoComplete={'off'} onCompositionStart={onCompositionStart} + onKeyDown={onKeyDown} /> </> ); diff --git a/frontend/appflowy_web_app/src/components/editor/__tests__/behavior/TabBehavior.cy.tsx b/frontend/appflowy_web_app/src/components/editor/__tests__/behavior/TabBehavior.cy.tsx new file mode 100644 index 000000000000..d70215a54107 --- /dev/null +++ b/frontend/appflowy_web_app/src/components/editor/__tests__/behavior/TabBehavior.cy.tsx @@ -0,0 +1,211 @@ +import { mountEditor, moveCursor } from '@/components/editor/__tests__/mount'; +import { DocumentTest, FromBlockJSON } from 'cypress/support/document'; + +let documentTest: DocumentTest; +const initialData: FromBlockJSON[] = [ + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Outer paragraph' }], + children: [], + }, + { + type: 'toggle_list', + data: {}, + text: [{ insert: 'Toggle list' }], + children: [ + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Nested paragraph 1' }], + children: [{ + type: 'paragraph', + data: {}, + text: [{ insert: 'Deeply nested paragraph' }], + children: [], + }], + }, + { + type: 'toggle_list', + data: {}, + text: [{ insert: 'Nested toggle list' }], + children: [ + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Deeply nested paragraph' }], + children: [], + }, + ], + }, + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Nested paragraph 2.' }], + children: [], + }, + ], + }, + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Final outer paragraph' }], + children: [], + }, +]; + +const initializeEditor = (data: FromBlockJSON[]) => { + documentTest = new DocumentTest(); + documentTest.fromJSON(data); + mountEditor({ readOnly: false, doc: documentTest.doc }); + cy.get('[role="textbox"]').should('exist'); +}; + +const assertJSON = (expectedJSON: FromBlockJSON[]) => { + cy.wrap(null).then(() => { + const finalJSON = documentTest.toJSON(); + + expect(finalJSON).to.deep.equal(expectedJSON); + }); +}; + +describe('Tab key behavior', () => { + + beforeEach(() => { + cy.viewport(1280, 720); + Object.defineProperty(window.navigator, 'language', { value: 'en-US' }); + initializeEditor(initialData); + const selector = '[role="textbox"]'; + + cy.get(selector).as('editor'); + }); + + it('should indent paragraph when tab at start of paragraph', () => { + moveCursor(1, 0); // Move to 'Toggle list' + cy.get('@editor').realPress('Tab'); + assertJSON([ + { + ...initialData[0], + children: [initialData[1]], + }, + initialData[2], + ]); + + // Optional: Add visual regression test + cy.matchImageSnapshot('behavior/TabKeyBehavior/should-indent-paragraph'); + }); + + it('should indent nested block at index 0/1 when tab at start', () => { + // Test 1: move to children[0] + moveCursor(2, 0); // Move to 'Nested paragraph 1' + cy.get('@editor').realPress('Tab'); + assertJSON(initialData); + + // Test 2: move to children[1] + moveCursor(4, 0); // Move to 'Deeply nested paragraph' + cy.get('@editor').realPress('Tab'); + assertJSON([ + initialData[0], + { + ...initialData[1], + children: [ + { + ...initialData[1].children[0], + children: [initialData[1].children[0].children[0], initialData[1].children[1]], + }, + initialData[1].children[2], + ], + }, + initialData[2], + ]); + + // Optional: Add visual regression test + cy.matchImageSnapshot('behavior/TabKeyBehavior/should-indent-nested-block-at-index-0-1'); + }); + + it('should not indent at start of document', () => { + moveCursor(0, 0); + cy.get('@editor').realPress('Tab'); + assertJSON(initialData); + + // Optional: Add visual regression test + cy.matchImageSnapshot('behavior/TabKeyBehavior/should-not-indent-at-start-of-document'); + }); + + it('should not indent at start of nested block', () => { + moveCursor(2, 0); + cy.get('@editor').realPress('Tab'); + assertJSON(initialData); + + // Optional: Add visual regression test + cy.matchImageSnapshot('behavior/TabKeyBehavior/should-not-indent-at-start-of-nested-block'); + }); +}); + +describe('Shift+Tab key behavior', () => { + beforeEach(() => { + cy.viewport(1280, 720); + Object.defineProperty(window.navigator, 'language', { value: 'en-US' }); + initializeEditor(initialData); + const selector = '[role="textbox"]'; + + cy.get(selector).as('editor'); + }); + + it('should outdent deeply nested paragraph when shift+tab at start', () => { + moveCursor(3, 3); // Move to 'Deeply nested paragraph' + cy.get('@editor').realPress(['Shift', 'Tab']); + assertJSON([ + initialData[0], + { + ...initialData[1], + children: [ + { + ...initialData[1].children[0], + children: [], + }, + initialData[1].children[0].children[0], + initialData[1].children[1], + initialData[1].children[2], + ], + }, + initialData[2], + ]); + // + // Optional: Add visual regression test + cy.matchImageSnapshot('behavior/ShiftTabKeyBehavior/should-outdent-deeply-nested-paragraph'); + }); + + it('should outdent Nested toggle list when shift+tab at start', () => { + moveCursor(4, 1); // Move to 'Nested toggle list' + cy.get('@editor').realPress(['Shift', 'Tab']); + assertJSON([ + initialData[0], + { + ...initialData[1], + children: [ + initialData[1].children[0], + initialData[1].children[2], + ], + }, + initialData[1].children[1], + initialData[2], + ]); + // + // Optional: Add visual regression test + cy.matchImageSnapshot('behavior/ShiftTabKeyBehavior/should-outdent-nested-toggle-list'); + }); + + it('should not outdent at top level', () => { + moveCursor(0, 0); // Move to 'Outer paragraph' + cy.get('@editor').realPress(['Shift', 'Tab']); + assertJSON(initialData); + + moveCursor(7, 0); // Move to 'Final outer paragraph' + cy.get('@editor').realPress(['Shift', 'Tab']); + assertJSON(initialData); + // Optional: Add visual regression test + cy.matchImageSnapshot('behavior/ShiftTabKeyBehavior/should-not-outdent-at-top-level'); + }); + +}); \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/editor/__tests__/blocks/Paragraph.cy.tsx b/frontend/appflowy_web_app/src/components/editor/__tests__/blocks/Paragraph.cy.tsx index 22d5747f0f9f..eb7bc6aed209 100644 --- a/frontend/appflowy_web_app/src/components/editor/__tests__/blocks/Paragraph.cy.tsx +++ b/frontend/appflowy_web_app/src/components/editor/__tests__/blocks/Paragraph.cy.tsx @@ -54,7 +54,7 @@ describe('<Paragraph />', () => { cy.get('[role="textbox"]').should('exist'); cy.get('[role="textbox"]').type('{movetostart}').type('{rightarrow}'.repeat(10)) - .type(' New text at the `world` middle '); + .type(` New text at the 'world' middle `); cy.get('[role="textbox"]').type('{movetoend}').type('{leftarrow}'.repeat(6)).type('{backspace}'.repeat(4)); cy.wrap(null).then(() => { @@ -65,7 +65,7 @@ describe('<Paragraph />', () => { text: [ { insert: 'Hello, ' }, { - insert: 'wor New text at the `world` middle ld!', + insert: `wor New text at the 'world' middle ld!`, attributes: { italic: true, underline: true, diff --git a/frontend/appflowy_web_app/src/components/editor/__tests__/mount.tsx b/frontend/appflowy_web_app/src/components/editor/__tests__/mount.tsx index 335be09c858a..9d91aa41450f 100644 --- a/frontend/appflowy_web_app/src/components/editor/__tests__/mount.tsx +++ b/frontend/appflowy_web_app/src/components/editor/__tests__/mount.tsx @@ -28,19 +28,25 @@ export const moveToLineStart = (lineIndex: number) => { } }; -export const moveAndEnter = (lineIndex: number, moveCount: number) => { +export const moveCursor = (lineIndex: number, charIndex: number) => { moveToLineStart(lineIndex); // Move the cursor with right arrow key and batch the movement const batchSize = 5; - const batches = Math.ceil(moveCount / batchSize); + const batches = Math.ceil(charIndex / batchSize); for (let i = 0; i < batches; i++) { - const remainingMoves = Math.min(batchSize, moveCount - i * batchSize); + const remainingMoves = Math.min(batchSize, charIndex - i * batchSize); cy.get('@targetBlock') .type('{rightarrow}'.repeat(remainingMoves)) .wait(50); } +}; + +export const moveAndEnter = (lineIndex: number, moveCount: number) => { + moveToLineStart(lineIndex); + // Move the cursor with right arrow key and batch the movement + moveCursor(lineIndex, moveCount); cy.get('@targetBlock').type('{enter}'); }; \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/editor/__tests__/shortcuts/BIUS.cy.tsx b/frontend/appflowy_web_app/src/components/editor/__tests__/shortcuts/BIUS.cy.tsx new file mode 100644 index 000000000000..4753192bf94f --- /dev/null +++ b/frontend/appflowy_web_app/src/components/editor/__tests__/shortcuts/BIUS.cy.tsx @@ -0,0 +1,162 @@ +import { mountEditor } from '@/components/editor/__tests__/mount'; +import { DocumentTest, FromBlockJSON } from 'cypress/support/document'; + +let documentTest: DocumentTest; +const initialData: FromBlockJSON[] = [ + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Outer paragraph' }], + children: [], + }, + { + type: 'toggle_list', + data: {}, + text: [{ insert: 'Toggle list' }], + children: [ + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Nested paragraph 1' }], + children: [{ + type: 'paragraph', + data: {}, + text: [{ insert: 'Deeply nested paragraph' }], + children: [], + }], + }, + { + type: 'toggle_list', + data: {}, + text: [{ insert: 'Nested toggle list' }], + children: [ + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Deeply nested paragraph' }], + children: [], + }, + ], + }, + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Nested paragraph 2.' }], + children: [], + }, + ], + }, + { + type: 'paragraph', + data: {}, + text: [{ insert: 'Final outer paragraph' }], + children: [], + }, +]; + +const initializeEditor = (data: FromBlockJSON[]) => { + documentTest = new DocumentTest(); + documentTest.fromJSON(data); + mountEditor({ readOnly: false, doc: documentTest.doc }); + cy.get('[role="textbox"]').should('exist'); +}; + +const assertJSON = (expectedJSON: FromBlockJSON[]) => { + cy.wrap(null).then(() => { + const finalJSON = documentTest.toJSON(); + + expect(finalJSON).to.deep.equal(expectedJSON); + }); +}; + +const getModKey = () => { + if (Cypress.platform === 'darwin') { + return 'Meta'; + } else { + return 'Control'; + } +}; + +describe('BIUS.cy', () => { + beforeEach(() => { + cy.viewport(1280, 720); + Object.defineProperty(window.navigator, 'language', { value: 'en-US' }); + initializeEditor(initialData); + const selector = '[role="textbox"]'; + + cy.get(selector).as('editor'); + }); + + it('should handle `Mod+B/I/U` and `Mod + Shift + S` key press', () => { + cy.selectMultipleText(['ter parag']); + cy.get('@editor').focus(); + cy.get('@editor').realPress([getModKey(), 'b']); + cy.get('@editor').realPress([getModKey(), 'i']); + cy.get('@editor').realPress([getModKey(), 'u']); + cy.get('@editor').realPress([getModKey(), 'Shift', 's']); + assertJSON([ + { + ...initialData[0], + text: [{ insert: 'Ou' }, { + insert: 'ter parag', + attributes: { bold: true, italic: true, underline: true, strikethrough: true }, + }, { insert: 'raph' }], + }, + initialData[1], + initialData[2], + ]); + + cy.selectMultipleText(['sted toggle list', 'paragraph 2']); + cy.get('@editor').realPress([getModKey(), 'b']); + cy.get('@editor').realPress([getModKey(), 'i']); + cy.get('@editor').realPress([getModKey(), 'u']); + cy.get('@editor').realPress([getModKey(), 'Shift', 's']); + assertJSON([ + { + ...initialData[0], + text: [{ insert: 'Ou' }, { + insert: 'ter parag', + attributes: { bold: true, italic: true, underline: true, strikethrough: true }, + }, { insert: 'raph' }], + }, + { + ...initialData[1], + children: [ + initialData[1].children[0], + { + type: 'toggle_list', + data: {}, + text: [{ insert: 'Ne' }, { + insert: 'sted toggle list', + attributes: { bold: true, italic: true, underline: true, strikethrough: true }, + }], + children: [ + { + type: 'paragraph', + data: {}, + text: [{ + insert: 'Deeply nested paragraph', + attributes: { bold: true, italic: true, underline: true, strikethrough: true }, + }], + children: [], + }, + ], + }, + { + type: 'paragraph', + data: {}, + text: [{ + insert: 'Nested paragraph 2', + attributes: { bold: true, italic: true, underline: true, strikethrough: true }, + }, { insert: '.' }], + children: [], + }, + ], + }, + initialData[2], + ]); + + // Optional: Add visual regression test + cy.matchImageSnapshot('shortcuts/BIUS.cy'); + }); +}); \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/editor/__tests__/shortcuts/Markdown.cy.tsx b/frontend/appflowy_web_app/src/components/editor/__tests__/shortcuts/Markdown.cy.tsx new file mode 100644 index 000000000000..79af89b24f5f --- /dev/null +++ b/frontend/appflowy_web_app/src/components/editor/__tests__/shortcuts/Markdown.cy.tsx @@ -0,0 +1,328 @@ +import { mountEditor, moveCursor } from '@/components/editor/__tests__/mount'; +import { DocumentTest, FromBlockJSON } from 'cypress/support/document'; + +let documentTest: DocumentTest; +const initialData: FromBlockJSON[] = [{ + type: 'paragraph', + data: {}, + text: [{ insert: 'First paragraph' }], + children: [], +}]; + +const initializeEditor = (data: FromBlockJSON[]) => { + documentTest = new DocumentTest(); + documentTest.fromJSON(data); + mountEditor({ readOnly: false, doc: documentTest.doc }); + cy.get('[role="textbox"]').should('exist'); +}; + +const assertJSON = (expectedJSON: FromBlockJSON[]) => { + cy.wrap(null).then(() => { + const finalJSON = documentTest.toJSON(); + + expect(finalJSON).to.deep.equal(expectedJSON); + }); +}; + +describe('Markdown editing', () => { + beforeEach(() => { + cy.viewport(1280, 720); + Object.defineProperty(window.navigator, 'language', { value: 'en-US' }); + initializeEditor(initialData); + const selector = '[role="textbox"]'; + + cy.get(selector).as('editor'); + }); + + it('should handle all markdown inputs', () => { + moveCursor(0, 6); + let expectedJson: FromBlockJSON[] = initialData; + + // Test `Bold` + cy.get('@editor').type('**bold'); + cy.get('@editor').realPress(['*', '*']); + expectedJson = [{ + type: 'paragraph', + data: {}, + text: [{ insert: 'First ' }, { insert: 'bold', attributes: { bold: true } }, { insert: 'paragraph' }], + children: [], + }]; + assertJSON(expectedJson); + cy.get('@editor').type('{moveToEnd}'); + + cy.get('@editor').realPress('Enter'); + // Test 1: heading + cy.get('@editor').type('##'); + cy.get('@editor').realPress('Space'); + cy.get('@editor').type('Heading 2'); + expectedJson = [...expectedJson, { + type: 'heading', + data: { level: 2 }, + text: [{ insert: 'Heading 2' }], + children: [], + }]; + + assertJSON(expectedJson); + // Test `Italic` + cy.get('@editor').realPress('Enter'); + cy.get('@editor').type('_italic'); + cy.get('@editor').realPress(['_']); + expectedJson = [ + ...expectedJson, + { + type: 'paragraph', + data: {}, + text: [{ insert: 'italic', attributes: { italic: true } }], + children: [], + }, + ]; + assertJSON(expectedJson); + cy.get('@editor').type('__bold italic'); + cy.get('@editor').realPress(['_', '_']); + expectedJson = [ + ...expectedJson.slice(0, -1), + { + type: 'paragraph', + data: {}, + text: [{ insert: 'italic', attributes: { italic: true } }, { + insert: 'bold italic', + attributes: { bold: true, italic: true }, + }], + children: [], + }, + ]; + assertJSON(expectedJson); + // Test `Code` + cy.get('@editor').type(' `code'); + cy.get('@editor').realPress(['`']); + expectedJson = [ + ...expectedJson.slice(0, -1), + { + type: 'paragraph', + data: {}, + text: [{ insert: 'italic', attributes: { italic: true } }, { + insert: 'bold italic ', + attributes: { bold: true, italic: true }, + }, + { + insert: 'code', + attributes: { code: true, italic: true, bold: true }, + }], + children: [], + }, + ]; + assertJSON(expectedJson); + // Test `Inline formula` + cy.get('@editor').realPress('Enter'); + cy.get('@editor').type('$E=mc^2'); + cy.get('@editor').realPress(['$']); + expectedJson = [ + ...expectedJson, + { + type: 'paragraph', + data: {}, + text: [{ insert: '$', attributes: { formula: 'E=mc^2' } }], + children: [], + }, + ]; + assertJSON(expectedJson); + // Test `Strikethrough` + cy.get('@editor').realPress('Enter'); + cy.get('@editor').type('~~strikethrough'); + cy.get('@editor').realPress(['~', '~']); + expectedJson = [ + ...expectedJson, + { + type: 'paragraph', + data: {}, + text: [{ insert: 'strikethrough', attributes: { strikethrough: true } }], + children: [], + }, + ]; + assertJSON(expectedJson); + + // Test 2: quote + cy.get('@editor').realPress('Enter'); + cy.get('@editor').type('"'); + cy.get('@editor').realPress('Space'); + cy.get('@editor').type('quote list'); + + cy.get('@editor').realPress('Enter'); + cy.get('@editor').type('quote child'); + + expectedJson = [ + ...expectedJson, + { + type: 'quote', + data: {}, + text: [{ insert: 'quote list' }], + children: [{ + type: 'paragraph', + data: {}, + children: [], + text: [{ insert: 'quote child' }], + }], + }, + ]; + assertJSON(expectedJson); + cy.get('@editor').realPress('Enter'); + cy.get('@editor').realPress(['Shift', 'Tab']); + + // Test 3: Todo list + cy.get('@editor').type('-[]'); + cy.get('@editor').realPress('Space'); + + expectedJson = [ + ...expectedJson, + { + type: 'todo_list', + data: { checked: false }, + text: [], + children: [], + }, + ]; + assertJSON(expectedJson); + cy.get('@editor').realPress('Backspace'); + cy.get('@editor').type('-[x]'); + cy.get('@editor').realPress('Space'); + expectedJson = [ + ...expectedJson.slice(0, -1), + { + type: 'todo_list', + data: { checked: true }, + text: [], + children: [], + }, + ]; + assertJSON(expectedJson); + cy.get('@editor').realPress('Backspace'); + cy.get('@editor').type('-[ ]'); + cy.get('@editor').realPress('Space'); + expectedJson = [ + ...expectedJson.slice(0, -1), + { + type: 'todo_list', + data: { checked: false }, + text: [], + children: [], + }, + ]; + assertJSON(expectedJson); + cy.get('@editor').type('todo list unchecked'); + cy.get('@editor').realPress('Enter'); + cy.get('@editor').type('-[x]'); + cy.get('@editor').realPress('Space'); + cy.get('@editor').type('todo list checked'); + expectedJson = [ + ...expectedJson.slice(0, -1), + { + type: 'todo_list', + data: { checked: false }, + text: [{ insert: 'todo list unchecked' }], + children: [], + }, + { + type: 'todo_list', + data: { checked: true }, + text: [{ insert: 'todo list checked' }], + children: [], + }, + ]; + assertJSON(expectedJson); + cy.get('@editor').realPress('Enter'); + cy.get('@editor').realPress('Backspace'); + + // Test 4: Toggle list + cy.get('@editor').type('>'); + cy.get('@editor').realPress('Space'); + cy.get('@editor').type('toggle list'); + cy.get('@editor').realPress('Enter'); + cy.get('@editor').type('toggle list child'); + expectedJson = [ + ...expectedJson, + { + type: 'toggle_list', + data: { collapsed: false }, + text: [{ insert: 'toggle list' }], + children: [{ + type: 'paragraph', + data: {}, + children: [], + text: [{ insert: 'toggle list child' }], + }], + }, + ]; + assertJSON(expectedJson); + + // Test 5: Bullted List + cy.get('@editor').realPress('Enter'); + cy.get('@editor').realPress('Backspace'); + cy.get('@editor').type('-'); + cy.get('@editor').realPress('Space'); + cy.get('@editor').type('bulleted list'); + expectedJson = [ + ...expectedJson, + { + type: 'bulleted_list', + data: {}, + text: [{ insert: 'bulleted list' }], + children: [], + }, + + ]; + assertJSON(expectedJson); + // Test 5: Numbered List + cy.get('@editor').realPress('Enter'); + cy.get('@editor').type('2.'); + cy.get('@editor').realPress('Space'); + cy.get('@editor').type('numbered list'); + expectedJson = [ + ...expectedJson, + { + type: 'numbered_list', + data: { number: 2 }, + text: [{ insert: 'numbered list' }], + children: [], + }, + ]; + assertJSON(expectedJson); + + // Test 6: Code block + cy.get('@editor').realPress('Enter'); + cy.get('@editor').realPress('Backspace'); + cy.get('@editor').type('```'); + cy.get('@editor').type(`function main() {\n console.log('Hello, World!');\n}`); + cy.get('@editor').realPress(['Shift', 'Enter']); + expectedJson = [ + ...expectedJson, + { + type: 'code', + data: {}, + text: [{ + insert: 'function main() {\n console.log(\'Hello, World!\');\n}', + }], + children: [], + }, + { + type: 'paragraph', + data: {}, + text: [], + children: [], + }, + ]; + assertJSON(expectedJson); + // Last test: Divider + cy.get('@editor').type('--'); + cy.get('@editor').realPress('-'); + expectedJson = [ + ...expectedJson.slice(0, -1), + { + type: 'divider', + data: {}, + text: [], + children: [], + }, + ]; + assertJSON(expectedJson); + }); +}); \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/editor/components/blocks/math-equation/MathEquation.tsx b/frontend/appflowy_web_app/src/components/editor/components/blocks/math-equation/MathEquation.tsx index e30b446489d8..7ffc5f221e79 100644 --- a/frontend/appflowy_web_app/src/components/editor/components/blocks/math-equation/MathEquation.tsx +++ b/frontend/appflowy_web_app/src/components/editor/components/blocks/math-equation/MathEquation.tsx @@ -4,7 +4,7 @@ import RightTopActionsToolbar from '@/components/editor/components/block-actions import { EditorElementProps, MathEquationNode } from '@/components/editor/editor.type'; import { copyTextToClipboard } from '@/utils/copy'; import { ReactComponent as MathSvg } from '@/assets/math.svg'; -import React, { forwardRef, memo, useMemo, useRef, useState } from 'react'; +import React, { forwardRef, memo, Suspense, useMemo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; export const MathEquation = memo( @@ -41,7 +41,9 @@ export const MathEquation = memo( className={newClassName} > {formula ? ( - <KatexMath latex={formula} /> + <Suspense fallback={formula}> + <KatexMath latex={formula} /> + </Suspense> ) : ( <div className={ diff --git a/frontend/appflowy_web_app/src/components/editor/components/blocks/quote/Quote.tsx b/frontend/appflowy_web_app/src/components/editor/components/blocks/quote/Quote.tsx index 6e69990fbf1e..75e799f7401a 100644 --- a/frontend/appflowy_web_app/src/components/editor/components/blocks/quote/Quote.tsx +++ b/frontend/appflowy_web_app/src/components/editor/components/blocks/quote/Quote.tsx @@ -4,15 +4,18 @@ import React, { forwardRef, memo, useMemo } from 'react'; export const Quote = memo( forwardRef<HTMLDivElement, EditorElementProps<QuoteNode>>(({ node: _, children, ...attributes }, ref) => { const className = useMemo(() => { - return `my-1 ${attributes.className ?? ''}`; + return `my-1 ${attributes.className ?? ''} pl-3`; }, [attributes.className]); return ( <div {...attributes} ref={ref} className={className}> - {children} + <div className={'border-l-4 border-fill-default pl-2'}> + {children} + </div> + </div> ); - }) + }), ); export default Quote; diff --git a/frontend/appflowy_web_app/src/components/editor/components/blocks/quote/QuoteIcon.tsx b/frontend/appflowy_web_app/src/components/editor/components/blocks/quote/QuoteIcon.tsx deleted file mode 100644 index fec907ced68e..000000000000 --- a/frontend/appflowy_web_app/src/components/editor/components/blocks/quote/QuoteIcon.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; - -function QuoteIcon({ className }: { className: string }) { - return ( - <span data-playwright-selected={false} contentEditable={false} draggable={false} className={`${className}`}> - <div className={'h-full w-[4px] bg-fill-default'}></div> - </span> - ); -} - -export default QuoteIcon; diff --git a/frontend/appflowy_web_app/src/components/editor/components/blocks/text/StartIcon.hooks.tsx b/frontend/appflowy_web_app/src/components/editor/components/blocks/text/StartIcon.hooks.tsx index 03cbd6839711..136e9583d20c 100644 --- a/frontend/appflowy_web_app/src/components/editor/components/blocks/text/StartIcon.hooks.tsx +++ b/frontend/appflowy_web_app/src/components/editor/components/blocks/text/StartIcon.hooks.tsx @@ -1,7 +1,6 @@ import { BlockType } from '@/application/types'; import { BulletedListIcon } from '@/components/editor/components/blocks/bulleted-list'; import { NumberListIcon } from '@/components/editor/components/blocks/numbered-list'; -import QuoteIcon from '@/components/editor/components/blocks/quote/QuoteIcon'; import ToggleIcon from '@/components/editor/components/blocks/toggle-list/ToggleIcon'; import { TextNode } from '@/components/editor/editor.type'; import React, { FC, useCallback, useMemo } from 'react'; @@ -9,7 +8,7 @@ import { ReactEditor, useSlate } from 'slate-react'; import { Editor, Element } from 'slate'; import CheckboxIcon from '@/components/editor/components/blocks/todo-list/CheckboxIcon'; -export function useStartIcon(node: TextNode) { +export function useStartIcon (node: TextNode) { const editor = useSlate(); const path = ReactEditor.findPath(editor, node); const block = Editor.parent(editor, path)?.[0] as Element | null; @@ -28,8 +27,6 @@ export function useStartIcon(node: TextNode) { return NumberListIcon; case BlockType.BulletedListBlock: return BulletedListIcon; - case BlockType.QuoteBlock: - return QuoteIcon; default: return null; } @@ -42,11 +39,7 @@ export function useStartIcon(node: TextNode) { const classList = ['text-block-icon relative w-[24px]']; - if (block.type === BlockType.QuoteBlock) { - classList.push('h-full min-w-[24px]'); - } else { - classList.push('h-6'); - } + classList.push('h-6'); return <Component className={classList.join(' ')} block={block} />; }, [Component, block]); diff --git a/frontend/appflowy_web_app/src/components/editor/components/blocks/todo-list/CheckboxIcon.tsx b/frontend/appflowy_web_app/src/components/editor/components/blocks/todo-list/CheckboxIcon.tsx index 034a3987bfdc..4a76234f48d2 100644 --- a/frontend/appflowy_web_app/src/components/editor/components/blocks/todo-list/CheckboxIcon.tsx +++ b/frontend/appflowy_web_app/src/components/editor/components/blocks/todo-list/CheckboxIcon.tsx @@ -1,20 +1,43 @@ +import { YjsEditor } from '@/application/slate-yjs'; +import { CustomEditor } from '@/application/slate-yjs/command'; import { TodoListNode } from '@/components/editor/editor.type'; -import React from 'react'; +import { debounce } from 'lodash-es'; +import React, { useCallback, useMemo } from 'react'; import { ReactComponent as CheckboxCheckSvg } from '$icons/16x/check_filled.svg'; import { ReactComponent as CheckboxUncheckSvg } from '$icons/16x/uncheck.svg'; +import { useReadOnly, useSlateStatic } from 'slate-react'; -function CheckboxIcon({ block, className }: { block: TodoListNode; className: string }) { +function CheckboxIcon ({ block, className }: { block: TodoListNode; className: string }) { const { checked } = block.data; + const editor = useSlateStatic(); + const readOnly = useReadOnly(); + + const toggleChecked = useMemo(() => { + if (readOnly) { + return; + } + + return debounce(() => { + CustomEditor.toggleTodoList(editor as YjsEditor, block.blockId); + }, 100); + }, [readOnly, editor, block.blockId]); + + const handleClick = useCallback((e: React.MouseEvent) => { + e.stopPropagation(); + e.preventDefault(); + toggleChecked?.(); + }, [toggleChecked]); return ( <span + onClick={handleClick} data-playwright-selected={false} contentEditable={false} draggable={false} onMouseDown={(e) => { e.preventDefault(); }} - className={`${className} pr-1 text-xl text-fill-default`} + className={`${className} ${readOnly ? '' : 'cursor-pointer hover:text-fill-default'} pr-1 text-xl`} > {checked ? <CheckboxCheckSvg /> : <CheckboxUncheckSvg />} </span> diff --git a/frontend/appflowy_web_app/src/components/editor/components/blocks/toggle-list/ToggleIcon.tsx b/frontend/appflowy_web_app/src/components/editor/components/blocks/toggle-list/ToggleIcon.tsx index 808319e913c1..f0fb5d4ba7e8 100644 --- a/frontend/appflowy_web_app/src/components/editor/components/blocks/toggle-list/ToggleIcon.tsx +++ b/frontend/appflowy_web_app/src/components/editor/components/blocks/toggle-list/ToggleIcon.tsx @@ -17,11 +17,9 @@ function ToggleIcon ({ block, className }: { block: ToggleListNode; className: s } return debounce(() => { - CustomEditor.setBlockData(editor as YjsEditor, block.blockId, { - collapsed: !collapsed, - }, true); + CustomEditor.toggleToggleList(editor as YjsEditor, block.blockId); }, 100); - }, [readOnly, editor, block.blockId, collapsed]); + }, [readOnly, editor, block.blockId]); const handleClick = useCallback((e: React.MouseEvent) => { e.stopPropagation(); diff --git a/frontend/appflowy_web_app/src/components/editor/components/leaf/Leaf.tsx b/frontend/appflowy_web_app/src/components/editor/components/leaf/Leaf.tsx index 9389b1e1bc83..b5b070c8cb1c 100644 --- a/frontend/appflowy_web_app/src/components/editor/components/leaf/Leaf.tsx +++ b/frontend/appflowy_web_app/src/components/editor/components/leaf/Leaf.tsx @@ -58,6 +58,7 @@ export function Leaf ({ attributes, children, leaf, text }: RenderLeafProps) { /> : leaf.formula ? <FormulaLeaf formula={leaf.formula} text={text} /> : null; newChildren = <> + {node} <span className={'absolute opacity-0 left-0'}> {newChildren} diff --git a/frontend/appflowy_web_app/src/components/editor/components/leaf/formula/FormulaLeaf.tsx b/frontend/appflowy_web_app/src/components/editor/components/leaf/formula/FormulaLeaf.tsx index 2220fe190b67..04e42d1c7795 100644 --- a/frontend/appflowy_web_app/src/components/editor/components/leaf/formula/FormulaLeaf.tsx +++ b/frontend/appflowy_web_app/src/components/editor/components/leaf/formula/FormulaLeaf.tsx @@ -1,6 +1,6 @@ import { KatexMath } from '@/components/_shared/katex-math'; import { useLeafSelected } from '@/components/editor/components/leaf/leaf.hooks'; -import React, { useMemo } from 'react'; +import React, { Suspense, useMemo } from 'react'; import { Text } from 'slate'; import { useReadOnly } from 'slate-react'; @@ -11,7 +11,7 @@ function FormulaLeaf ({ formula, text }: { const { isSelected, select } = useLeafSelected(text); const readonly = useReadOnly(); const className = useMemo(() => { - const classList = ['formula-inline', 'relative', 'rounded', 'p-0.5']; + const classList = ['formula-inline', 'relative', 'rounded', 'p-0.5 select-none']; if (readonly) classList.push('cursor-default'); else classList.push('cursor-pointer'); @@ -25,9 +25,13 @@ function FormulaLeaf ({ formula, text }: { e.preventDefault(); select(); }} - contentEditable={false} className={className} + contentEditable={false} + className={className} > + <Suspense fallback={formula}> + <KatexMath latex={formula || ''} isInline /> + </Suspense> </span> ); } diff --git a/frontend/appflowy_web_app/src/components/editor/components/leaf/leaf.hooks.ts b/frontend/appflowy_web_app/src/components/editor/components/leaf/leaf.hooks.ts index 3ff5afd975d8..06a1551ac1d8 100644 --- a/frontend/appflowy_web_app/src/components/editor/components/leaf/leaf.hooks.ts +++ b/frontend/appflowy_web_app/src/components/editor/components/leaf/leaf.hooks.ts @@ -11,17 +11,22 @@ export function useLeafSelected (text: Text) { const isSelected = useMemo(() => { if (readonly || !selection || !elementIsSelected || !text) return false; - const path = ReactEditor.findPath(editor, text); - - // get the start and end point of the mention - const start = Editor.start(editor, path); - const end = Editor.end(editor, path); + try { + const path = ReactEditor.findPath(editor, text); + + // get the start and end point of the mention + const start = Editor.start(editor, path); + const end = Editor.end(editor, path); + + // check if the selection is inside the mention + return !!(Range.intersection(selection, { + anchor: start, + focus: end, + })); + } catch (e) { + return false; + } - // check if the selection is inside the mention - return !!(Range.intersection(selection, { - anchor: start, - focus: end, - })); }, [editor, elementIsSelected, readonly, selection, text]); const select = useCallback(() => { diff --git a/frontend/appflowy_web_app/src/components/editor/editor.scss b/frontend/appflowy_web_app/src/components/editor/editor.scss index 4455c89be35a..2d48831fb4f6 100644 --- a/frontend/appflowy_web_app/src/components/editor/editor.scss +++ b/frontend/appflowy_web_app/src/components/editor/editor.scss @@ -10,6 +10,12 @@ margin-left: 24px; } +.block-element[data-block-type="quote"] { + .block-element { + margin-left: 0 !important; + } +} + .block-element[data-block-type="table/cell"] { margin-left: 0 !important; diff --git a/frontend/appflowy_web_app/src/components/editor/plugins/index.ts b/frontend/appflowy_web_app/src/components/editor/plugins/index.ts index 7c32230c50f3..ac1e3d783ba5 100644 --- a/frontend/appflowy_web_app/src/components/editor/plugins/index.ts +++ b/frontend/appflowy_web_app/src/components/editor/plugins/index.ts @@ -1,7 +1,9 @@ import { withDelete } from '@/components/editor/plugins/withDelete'; import { withInsertBreak } from '@/components/editor/plugins/withInsertBreak'; +import { withInsertText } from '@/components/editor/plugins/withInsertText'; +import { withMarkdown } from '@/components/editor/plugins/withMarkdown'; import { ReactEditor } from 'slate-react'; export function withPlugins (editor: ReactEditor) { - return withInsertBreak(withDelete(editor)); + return withMarkdown(withInsertBreak(withDelete(withInsertText(editor)))); } diff --git a/frontend/appflowy_web_app/src/components/editor/plugins/withInsertBreak.ts b/frontend/appflowy_web_app/src/components/editor/plugins/withInsertBreak.ts index 7f280a0225a2..7731e5d41ac1 100644 --- a/frontend/appflowy_web_app/src/components/editor/plugins/withInsertBreak.ts +++ b/frontend/appflowy_web_app/src/components/editor/plugins/withInsertBreak.ts @@ -6,7 +6,7 @@ export function withInsertBreak (editor: ReactEditor) { const { insertBreak } = editor; editor.insertBreak = () => { - if (editor.isElementReadOnly(editor)) { + if ((editor as YjsEditor).readOnly) { insertBreak(); return; } diff --git a/frontend/appflowy_web_app/src/components/editor/plugins/withInsertText.ts b/frontend/appflowy_web_app/src/components/editor/plugins/withInsertText.ts new file mode 100644 index 000000000000..a36c2f30d40a --- /dev/null +++ b/frontend/appflowy_web_app/src/components/editor/plugins/withInsertText.ts @@ -0,0 +1,36 @@ +import { BaseRange, NodeEntry, Range, Text, Transforms } from 'slate'; +import { ReactEditor } from 'slate-react'; +import { TextInsertTextOptions } from 'slate/dist/interfaces/transforms/text'; + +export const withInsertText = (editor: ReactEditor) => { + const { insertText } = editor; + + editor.insertText = (text: string, options?: TextInsertTextOptions) => { + const newAt = (options?.at || editor.selection) as BaseRange; + + if (!newAt || !Range.isCollapsed(newAt)) { + insertText(text, options); + return; + } + + const point = newAt.anchor; + const [textEntry] = editor.nodes({ + at: point, match: n => { + return Text.isText(n); + }, + }); + const [textNode] = textEntry as NodeEntry<Text>; + + // If the text node is a formula or mention, split the node and insert the text + if (textNode.formula || textNode.mention) { + Transforms.splitNodes(editor, { at: point }); + Transforms.insertNodes(editor, { text }, { at: point, select: true, voids: false }); + + return; + } + + insertText(text, options); + }; + + return editor; +}; \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/editor/plugins/withMarkdown.ts b/frontend/appflowy_web_app/src/components/editor/plugins/withMarkdown.ts new file mode 100644 index 000000000000..dd2018b1d9a1 --- /dev/null +++ b/frontend/appflowy_web_app/src/components/editor/plugins/withMarkdown.ts @@ -0,0 +1,19 @@ +import { YjsEditor } from '@/application/slate-yjs'; +import { allTriggerChars, applyMarkdown } from '@/components/editor/utils/markdown'; +import { ReactEditor } from 'slate-react'; +import { TextInsertTextOptions } from 'slate/dist/interfaces/transforms/text'; + +export const withMarkdown = (editor: ReactEditor) => { + const { insertText } = editor; + + editor.insertText = (text: string, options?: TextInsertTextOptions) => { + + if (allTriggerChars.has(text) && applyMarkdown(editor as ReactEditor & YjsEditor, text)) { + return; + } + + insertText(text, options); + }; + + return editor; +}; \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/editor/shortcut.hooks.ts b/frontend/appflowy_web_app/src/components/editor/shortcut.hooks.ts new file mode 100644 index 000000000000..13e89d60561b --- /dev/null +++ b/frontend/appflowy_web_app/src/components/editor/shortcut.hooks.ts @@ -0,0 +1,177 @@ +import { YjsEditor } from '@/application/slate-yjs'; +import { CustomEditor } from '@/application/slate-yjs/command'; +import { SOFT_BREAK_TYPES } from '@/application/slate-yjs/command/const'; +import { EditorMarkFormat } from '@/application/slate-yjs/types'; +import { getBlockEntry } from '@/application/slate-yjs/utils/yjsOperations'; +import { BlockType } from '@/application/types'; +import { createHotkey, HOT_KEY_NAME } from '@/utils/hotkeys'; +import { KeyboardEvent, useCallback } from 'react'; +import { ReactEditor, useReadOnly } from 'slate-react'; + +export function useShortcuts (editor: ReactEditor) { + const yjsEditor = editor as YjsEditor; + const readOnly = useReadOnly(); + const onKeyDown = useCallback((event: KeyboardEvent<HTMLDivElement>) => { + const e = event.nativeEvent; + const { selection } = editor; + + // Add more cases here for general shortcuts + switch (true) { + /** + * Escape: Esc + * Default behavior: Deselect editor + */ + case createHotkey(HOT_KEY_NAME.ESCAPE)(e): + editor.deselect(); + break; + + default: + break; + } + + // Do not process shortcuts if editor is read-only or no selection + if (readOnly || !selection) return; + const [point, endPoint] = editor.edges(selection); + const node = getBlockEntry(yjsEditor, point); + const endNode = getBlockEntry(yjsEditor, endPoint); + const isSameBlock = node[0].blockId === endNode[0].blockId; + + // Add more cases here for editing shortcuts + switch (!readOnly) { + /** + * Select all: Mod+A + * Default behavior: Select all text in the editor + * Special case for select all in code block: Only select all text in code block + */ + case createHotkey(HOT_KEY_NAME.SELECT_ALL)(e): + if (node && node[0].type === BlockType.CodeBlock) { + event.preventDefault(); + editor.select(node[1]); + } + + break; + /** + * Indent block: Tab + * Default behavior: Indent block + */ + case createHotkey(HOT_KEY_NAME.INDENT_BLOCK)(e): + event.preventDefault(); + + if (!isSameBlock) return; + if (SOFT_BREAK_TYPES.includes(node[0]?.type as BlockType)) { + editor.insertText('\t'); + break; + } + + CustomEditor.tabForward(yjsEditor, point); + break; + /** + * Outdent block: Shift+Tab + * Default behavior: Outdent block + */ + case createHotkey(HOT_KEY_NAME.OUTDENT_BLOCK)(e): + event.preventDefault(); + if (!isSameBlock) return; + CustomEditor.tabBackward(yjsEditor, point); + break; + /** + * Split block: Enter + * Default behavior: Split block + * Special case for soft break types: Insert \n + */ + case createHotkey(HOT_KEY_NAME.SPLIT_BLOCK)(e): + if (SOFT_BREAK_TYPES.includes(node[0]?.type as BlockType)) { + event.preventDefault(); + editor.insertText('\n'); + } + + break; + /** + * Insert soft break: Shift+Enter + * Default behavior: Insert \n + * Special case for soft break types: Split block + */ + case createHotkey(HOT_KEY_NAME.INSERT_SOFT_BREAK)(e): + event.preventDefault(); + if (node && SOFT_BREAK_TYPES.includes(node[0]?.type as BlockType)) { + editor.insertBreak(); + } else { + editor.insertText('\n'); + } + + break; + /** + * Toggle todo: Mod+Enter + * Default behavior: Toggle todo + * Special case for toggle list block: Toggle collapse + */ + case createHotkey(HOT_KEY_NAME.TOGGLE_TODO)(e): + case createHotkey(HOT_KEY_NAME.TOGGLE_COLLAPSE)(e): + event.preventDefault(); + + if (node[0].type === BlockType.ToggleListBlock) { + CustomEditor.toggleToggleList(yjsEditor, node[0].blockId as string); + } else if (node[0].type === BlockType.TodoListBlock) { + CustomEditor.toggleTodoList(yjsEditor, node[0].blockId as string); + } + + break; + /** + * Bold: Mod + B + */ + case createHotkey(HOT_KEY_NAME.BOLD)(e): + event.preventDefault(); + CustomEditor.toggleMark(editor, { + key: EditorMarkFormat.Bold, + value: true, + }); + break; + /** + * Italic: Mod + I + */ + case createHotkey(HOT_KEY_NAME.ITALIC)(e): + event.preventDefault(); + CustomEditor.toggleMark(editor, { + key: EditorMarkFormat.Italic, + value: true, + }); + break; + /** + * Underline: Mod + U + */ + case createHotkey(HOT_KEY_NAME.UNDERLINE)(e): + event.preventDefault(); + CustomEditor.toggleMark(editor, { + key: EditorMarkFormat.Underline, + value: true, + }); + break; + /** + * Strikethrough: Mod + Shift + S / Mod + Shift + X + */ + case createHotkey(HOT_KEY_NAME.STRIKETHROUGH)(e): + event.preventDefault(); + CustomEditor.toggleMark(editor, { + key: EditorMarkFormat.StrikeThrough, + value: true, + }); + break; + /** + * Code: Mod + E + */ + case createHotkey(HOT_KEY_NAME.CODE)(e): + event.preventDefault(); + CustomEditor.toggleMark(editor, { + key: EditorMarkFormat.Code, + value: true, + }); + break; + default: + break; + } + }, [editor, yjsEditor, readOnly]); + + return { + onKeyDown, + }; +} \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/editor/utils/markdown.ts b/frontend/appflowy_web_app/src/components/editor/utils/markdown.ts new file mode 100644 index 000000000000..ab61e57ae40c --- /dev/null +++ b/frontend/appflowy_web_app/src/components/editor/utils/markdown.ts @@ -0,0 +1,335 @@ +import { YjsEditor } from '@/application/slate-yjs'; +import { CustomEditor } from '@/application/slate-yjs/command'; +import { EditorMarkFormat } from '@/application/slate-yjs/types'; +import { getBlock, getBlockEntry, getSharedRoot, getText } from '@/application/slate-yjs/utils/yjsOperations'; +import { + BlockType, + HeadingBlockData, + NumberedListBlockData, + TodoListBlockData, + ToggleListBlockData, + YjsEditorKey, +} from '@/application/types'; +import { Editor, Range, Transforms } from 'slate'; + +type TriggerHotKey = { + [key in BlockType | EditorMarkFormat]?: string[]; +}; + +const defaultTriggerChar: TriggerHotKey = { + [BlockType.HeadingBlock]: [' '], + [BlockType.QuoteBlock]: [' '], + [BlockType.CodeBlock]: ['`'], + [BlockType.BulletedListBlock]: [' '], + [BlockType.NumberedListBlock]: [' '], + [BlockType.TodoListBlock]: [' '], + [BlockType.ToggleListBlock]: [' '], + [BlockType.DividerBlock]: ['-', '*'], + [EditorMarkFormat.Bold]: ['*', '_'], + [EditorMarkFormat.Italic]: ['*', '_'], + [EditorMarkFormat.StrikeThrough]: ['~'], + [EditorMarkFormat.Code]: ['`'], + [EditorMarkFormat.Formula]: ['$'], +}; + +// create a set of all trigger characters +export const allTriggerChars = new Set(Object.values(defaultTriggerChar).flat()); + +// Define the rules for markdown shortcuts +type Rule = { + type: 'block' | 'mark' + match: RegExp + format: string + transform?: (editor: YjsEditor, match: RegExpMatchArray) => void + filter?: (editor: YjsEditor, match: RegExpMatchArray) => boolean +} + +function deletePrefix (editor: YjsEditor, offset: number) { + const [, path] = getBlockEntry(editor); + + const { selection } = editor; + + if (!selection) return; + editor.select({ + anchor: editor.start(path), + focus: { path: selection.focus.path, offset: offset }, + }); + editor.delete(); +} + +function getNodeType (editor: YjsEditor) { + const [node] = getBlockEntry(editor); + + return node.type as BlockType; +} + +function getBlockData (editor: YjsEditor) { + const [node] = getBlockEntry(editor); + + return node.data; +} + +function isEmptyLine (editor: YjsEditor, offset: number) { + const [node] = getBlockEntry(editor); + const sharedRoot = getSharedRoot(editor); + const block = getBlock(node.blockId as string, sharedRoot); + const yText = getText(block.get(YjsEditorKey.block_external_id), sharedRoot); + + return yText.toJSON().length === offset; +} + +const rules: Rule[] = [ + // Blocks + { + type: 'block', + match: /^(#{1,6})\s/, + format: BlockType.HeadingBlock, + filter: (editor, match) => { + const level = match[1].length; + const blockType = getNodeType(editor); + const blockData = getBlockData(editor); + + return blockType === BlockType.HeadingBlock && (blockData as HeadingBlockData).level === level; + }, + transform: (editor, match) => { + const level = match[1].length; + const [node] = getBlockEntry(editor); + + deletePrefix(editor, level); + CustomEditor.turnToBlock<HeadingBlockData>(editor, node.blockId as string, BlockType.HeadingBlock, { level }); + }, + }, + { + type: 'block', + match: /^"\s/, + format: BlockType.QuoteBlock, + filter: (editor) => { + return getNodeType(editor) === BlockType.QuoteBlock; + }, + transform: (editor) => { + deletePrefix(editor, 1); + CustomEditor.turnToBlock(editor, getBlockEntry(editor)[0].blockId as string, BlockType.QuoteBlock, {}); + }, + }, + { + type: 'block', + match: /^(-)?\[(x| )?\]\s/, + format: BlockType.TodoListBlock, + filter: (editor, match) => { + const checked = match[2] === 'x'; + const blockType = getNodeType(editor); + const blockData = getBlockData(editor); + + return blockType === BlockType.TodoListBlock && (blockData as TodoListBlockData).checked === checked; + }, + transform: (editor, match) => { + deletePrefix(editor, match[0].length - 1); + const checked = match[2] === 'x'; + + CustomEditor.turnToBlock<TodoListBlockData>(editor, getBlockEntry(editor)[0].blockId as string, BlockType.TodoListBlock, { checked }); + }, + }, + { + type: 'block', + match: /^>\s/, + format: BlockType.ToggleListBlock, + filter: (editor) => { + return getNodeType(editor) === BlockType.ToggleListBlock; + }, + transform: (editor) => { + deletePrefix(editor, 1); + CustomEditor.turnToBlock<ToggleListBlockData>(editor, getBlockEntry(editor)[0].blockId as string, BlockType.ToggleListBlock, { collapsed: false }); + }, + }, + { + type: 'block', + match: /^(`){3,}$/, + format: BlockType.CodeBlock, + filter: (editor) => { + return !isEmptyLine(editor, 2) || getNodeType(editor) === BlockType.CodeBlock; + }, + transform: (editor) => { + deletePrefix(editor, 2); + + CustomEditor.turnToBlock(editor, getBlockEntry(editor)[0].blockId as string, BlockType.CodeBlock, {}); + }, + }, + { + type: 'block', + match: /^(-|\*|\+)\s/, + format: BlockType.BulletedListBlock, + filter: (editor) => { + return getNodeType(editor) === BlockType.BulletedListBlock; + }, + transform: (editor) => { + deletePrefix(editor, 1); + CustomEditor.turnToBlock(editor, getBlockEntry(editor)[0].blockId as string, BlockType.BulletedListBlock, {}); + }, + }, + { + type: 'block', + match: /^(\d+)\.\s/, + format: BlockType.NumberedListBlock, + filter: (editor, match) => { + const start = parseInt(match[1]); + const blockType = getNodeType(editor); + const blockData = getBlockData(editor); + + return blockType === BlockType.HeadingBlock || (blockType === BlockType.NumberedListBlock && (blockData as NumberedListBlockData).number === start); + }, + transform: (editor, match) => { + const start = parseInt(match[1]); + + deletePrefix(editor, String(start).length + 1); + CustomEditor.turnToBlock<NumberedListBlockData>(editor, getBlockEntry(editor)[0].blockId as string, BlockType.NumberedListBlock, { number: start }); + }, + }, + + { + type: 'block', + match: /^([-*_]){3,}$/, + format: BlockType.DividerBlock, + filter: (editor) => { + return !isEmptyLine(editor, 2) || getNodeType(editor) === BlockType.DividerBlock; + }, + transform: (editor) => { + deletePrefix(editor, 2); + CustomEditor.turnToBlock(editor, getBlockEntry(editor)[0].blockId as string, BlockType.DividerBlock, {}); + }, + }, + + // marks + { + type: 'mark', + match: /\*\*(.*?)\*\*|__(.*?)__/, + format: EditorMarkFormat.Bold, + }, + { + type: 'mark', + match: /\*(.*?)\*|_(.*?)_/, + format: EditorMarkFormat.Italic, + filter: (_editor, match) => { + const key = match[0]; + + if (key === '**') return true; + const text = match[1] || match[2]; + + console.log('applyMarkdown italic', text); + return !text || text.length === 0; + }, + }, + { + type: 'mark', + match: /~~(.*?)~~/, + format: EditorMarkFormat.StrikeThrough, + }, + { + type: 'mark', + match: /`(.*?)`/, + format: EditorMarkFormat.Code, + filter: (_editor, match) => { + const text = match[1]; + + return text.length === 0; + }, + }, + { + type: 'mark', + match: /\$(.*?)\$/, + format: EditorMarkFormat.Formula, + transform: (editor, match) => { + const formula = match[1]; + const { selection } = editor; + + if (!selection) return; + const path = selection.anchor.path; + const start = match.index!; + + editor.insertText('$'); + Transforms.select(editor, { + anchor: { path, offset: start }, + focus: { path, offset: start + 1 }, + }); + + CustomEditor.addMark(editor, { key: EditorMarkFormat.Formula, value: formula }); + }, + }, +]; + +export const applyMarkdown = (editor: YjsEditor, insertText: string): boolean => { + const { selection } = editor; + + if (!selection || !Range.isCollapsed(selection)) return false; + + const [, path] = getBlockEntry(editor); + const start = Editor.start(editor, path); + const text = editor.string({ + anchor: start, + focus: selection.focus, + }) + insertText; + + for (const rule of rules) { + if (rule.type === 'block') { + const match = text.match(rule.match); + + console.log('applyMarkdown match', match, rule.match, text); + if (match && !rule.filter?.(editor, match)) { + + if (rule.transform) { + rule.transform(editor, match); + } + + return true; + } + } else if (rule.type === 'mark') { + const path = selection.anchor.path; + const text = editor.string({ + anchor: { + path, + offset: 0, + }, + focus: selection.focus, + }) + insertText; + + const matches = [...text.matchAll(new RegExp(rule.match, 'g'))]; + + console.log('applyMarkdown mark', rule.match, text, matches); + + if (matches.length > 0 && matches.every((match) => !rule.filter?.(editor, match))) { + for (const match of matches.reverse()) { + const start = match.index!; + const end = start + match[0].length - 1; + const matchRange = { + anchor: { path, offset: start }, + focus: { path, offset: end }, + }; + + Transforms.select(editor, matchRange); + editor.delete(); + + if (rule.transform) { + rule.transform(editor, match); + } else { + const formatText = match[1] || match[2]; + + editor.insertText(formatText); + Transforms.select(editor, { + anchor: { path, offset: start }, + focus: { path, offset: start + formatText.length }, + }); + + CustomEditor.addMark(editor, { key: rule.format as EditorMarkFormat, value: true }); + } + + Transforms.collapse(editor, { edge: 'end' }); + + } + + return true; + } + + } + } + + return false; +}; \ No newline at end of file diff --git a/frontend/appflowy_web_app/src/components/main/useAppThemeMode.ts b/frontend/appflowy_web_app/src/components/main/useAppThemeMode.ts index 62b4af8c853d..5a5745bf7f2e 100644 --- a/frontend/appflowy_web_app/src/components/main/useAppThemeMode.ts +++ b/frontend/appflowy_web_app/src/components/main/useAppThemeMode.ts @@ -1,4 +1,5 @@ -import { useEffect, useState, createContext } from 'react'; +import { createHotkey, HOT_KEY_NAME } from '@/utils/hotkeys'; +import { useEffect, useState, createContext, useCallback } from 'react'; export const ThemeModeContext = createContext< | { @@ -24,6 +25,24 @@ export function useAppThemeMode () { return darkMode === 'true'; }); + const onKeyDown = useCallback((e: KeyboardEvent) => { + switch (true) { + case createHotkey(HOT_KEY_NAME.TOGGLE_THEME)(e): + e.preventDefault(); + setIsDark(prev => !prev); + break; + default: + break; + } + }, []); + + useEffect(() => { + window.addEventListener('keydown', onKeyDown); + return () => { + window.removeEventListener('keydown', onKeyDown); + }; + }, [onKeyDown]); + useEffect(() => { if (fixedTheme) return; diff --git a/frontend/appflowy_web_app/tsconfig.json b/frontend/appflowy_web_app/tsconfig.json index 96bf51d65b1b..406c32bc7ac9 100644 --- a/frontend/appflowy_web_app/tsconfig.json +++ b/frontend/appflowy_web_app/tsconfig.json @@ -25,7 +25,8 @@ "types": [ "cypress", "node", - "jest" + "jest", + "cypress-real-events" ], "baseUrl": ".", "paths": {