mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-11 15:16:28 +08:00
Merge remote-tracking branch 'origin/develop' into fix/autofocus-board-editor
This commit is contained in:
@@ -11,7 +11,7 @@ import {
|
||||
import type { BlockEditor } from '@toeverything/components/editor-core';
|
||||
import { MIN_PAGE_WIDTH } from '@toeverything/components/editor-core';
|
||||
import { styled } from '@toeverything/components/ui';
|
||||
import type { SyntheticEvent } from 'react';
|
||||
import type { MouseEvent, SyntheticEvent } from 'react';
|
||||
import { memo, useCallback, useEffect, useRef } from 'react';
|
||||
import {
|
||||
defaultTextStyle,
|
||||
@@ -149,6 +149,15 @@ export class EditorUtil extends TDShapeUtil<T, E> {
|
||||
})();
|
||||
}, [isEditing]);
|
||||
|
||||
const onMouseDown = useCallback(
|
||||
(e: MouseEvent) => {
|
||||
if (e.detail === 2) {
|
||||
app.setEditingText(shape.id);
|
||||
}
|
||||
},
|
||||
[app, shape.id]
|
||||
);
|
||||
|
||||
return (
|
||||
<HTMLContainer ref={ref} {...events}>
|
||||
<Container
|
||||
@@ -157,6 +166,7 @@ export class EditorUtil extends TDShapeUtil<T, E> {
|
||||
onPointerDown={stopPropagation}
|
||||
onMouseEnter={activateIfEditing}
|
||||
onDragEnter={activateIfEditing}
|
||||
onMouseDown={onMouseDown}
|
||||
>
|
||||
<MemoAffineEditor
|
||||
workspace={workspace}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/* eslint-disable max-lines */
|
||||
import HotKeys from 'hotkeys-js';
|
||||
import LRUCache from 'lru-cache';
|
||||
|
||||
import type { PatchNode } from '@toeverything/components/ui';
|
||||
import type {
|
||||
@@ -46,10 +45,7 @@ export interface EditorCtorProps {
|
||||
}
|
||||
|
||||
export class Editor implements Virgo {
|
||||
private _cacheManager = new LRUCache<string, Promise<AsyncBlock | null>>({
|
||||
max: 8192,
|
||||
ttl: 1000 * 60 * 30,
|
||||
});
|
||||
private _cacheManager = new Map<string, Promise<AsyncBlock | null>>();
|
||||
public mouseManager = new MouseManager(this);
|
||||
public selectionManager = new SelectionManager(this);
|
||||
public keyboardManager = new KeyboardManager(this);
|
||||
@@ -234,7 +230,12 @@ export class Editor implements Virgo {
|
||||
return await services.api.editorBlock.update(patches);
|
||||
},
|
||||
remove: async ({ workspace, id }: WorkspaceAndBlockId) => {
|
||||
return await services.api.editorBlock.delete({ workspace, id });
|
||||
const ret = await services.api.editorBlock.delete({
|
||||
workspace,
|
||||
id,
|
||||
});
|
||||
this._cacheManager.delete(id);
|
||||
return ret;
|
||||
},
|
||||
observe: async (
|
||||
{ workspace, id }: WorkspaceAndBlockId,
|
||||
|
||||
Reference in New Issue
Block a user