mirror of
https://github.com/toeverything/AFFiNE.git
synced 2024-12-22 21:51:39 +03:00
feat(code): focus
This commit is contained in:
parent
b90ce50c0f
commit
04065bd6bd
@ -39,7 +39,7 @@ import { yaml } from '@codemirror/legacy-modes/mode/yaml';
|
||||
import { Extension } from '@codemirror/state';
|
||||
import {
|
||||
BlockPendantProvider,
|
||||
useOnSelect,
|
||||
useOnSelectActive,
|
||||
} from '@toeverything/components/editor-core';
|
||||
import { DuplicateIcon } from '@toeverything/components/icons';
|
||||
import { Option, Select, styled } from '@toeverything/components/ui';
|
||||
@ -147,7 +147,8 @@ export const CodeView = ({ block, editor }: CreateCodeView) => {
|
||||
codeMirror?.current?.view?.focus();
|
||||
}
|
||||
};
|
||||
useOnSelect(block.id, (_is_select: boolean) => {
|
||||
//TODO listen codeMirror.up down event , active
|
||||
useOnSelectActive(block.id, () => {
|
||||
focusCode();
|
||||
});
|
||||
const onChange = (value: string) => {
|
||||
@ -161,9 +162,9 @@ export const CodeView = ({ block, editor }: CreateCodeView) => {
|
||||
};
|
||||
useEffect(() => {
|
||||
handleLangChange(langType ? langType : DEFAULT_LANG);
|
||||
setTimeout(() => {
|
||||
focusCode();
|
||||
}, 100);
|
||||
// setTimeout(() => {
|
||||
// focusCode();
|
||||
// }, 100);
|
||||
}, []);
|
||||
|
||||
const copyCode = () => {
|
||||
|
@ -118,7 +118,7 @@ export const CommandMenu = ({ editor, hooks, style }: CommandMenuProps) => {
|
||||
?.getRangeAt(0)
|
||||
?.getBoundingClientRect();
|
||||
if (rect) {
|
||||
let rectTop = rect.top;
|
||||
const rectTop = rect.top;
|
||||
const clientHeight =
|
||||
document.documentElement.clientHeight;
|
||||
|
||||
@ -224,8 +224,10 @@ export const CommandMenu = ({ editor, hooks, style }: CommandMenuProps) => {
|
||||
await commonCommandMenuHandler(blockId, type, editor);
|
||||
}
|
||||
const block = await editor.getBlockById(blockId);
|
||||
let nextBlock = await block.nextSibling();
|
||||
editor.selectionManager.activeNodeByNodeId(nextBlock.id);
|
||||
const nextBlock = await block.nextSibling();
|
||||
setTimeout(() => {
|
||||
editor.selectionManager.activeNodeByNodeId(nextBlock.id);
|
||||
});
|
||||
if (block.blockProvider.isEmpty()) {
|
||||
block.remove();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user