mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-22 08:47:10 +08:00
feat(editor): add gfx pointer extension (#12006)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new pointer graphics module with tools and quick tool integration for edgeless surfaces. - Added a quick tool button for pointer interactions in edgeless mode. - Exposed new extension points for pointer graphics and effects. - **Improvements** - Integrated pointer graphics as a dependency into related packages. - Enhanced toolbar context to support additional surface alignment modes. - Added conditional clipboard configuration registrations for edgeless contexts across multiple block types. - **Removals** - Removed legacy tool and effect definitions and related quick tool exports from edgeless components. - Streamlined extension arrays and removed unused exports for a cleaner codebase. - Deleted obsolete utility functions and component registrations. - **Chores** - Updated workspace and TypeScript project references to include the new pointer graphics module. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
31
blocksuite/affine/gfx/pointer/src/view.ts
Normal file
31
blocksuite/affine/gfx/pointer/src/view.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import {
|
||||
type ViewExtensionContext,
|
||||
ViewExtensionProvider,
|
||||
} from '@blocksuite/affine-ext-loader';
|
||||
|
||||
import { effects } from './effects';
|
||||
import { defaultQuickTool } from './quick-tool/quick-tool';
|
||||
import { SnapExtension } from './snap/snap-manager';
|
||||
import { SnapOverlay } from './snap/snap-overlay';
|
||||
import { DefaultTool, EmptyTool, PanTool } from './tools';
|
||||
|
||||
export class PointerViewExtension extends ViewExtensionProvider {
|
||||
override name = 'affine-pointer-gfx';
|
||||
|
||||
override effect() {
|
||||
super.effect();
|
||||
effects();
|
||||
}
|
||||
|
||||
override setup(context: ViewExtensionContext) {
|
||||
super.setup(context);
|
||||
context.register(EmptyTool);
|
||||
context.register(DefaultTool);
|
||||
context.register(PanTool);
|
||||
if (this.isEdgeless(context.scope)) {
|
||||
context.register(defaultQuickTool);
|
||||
context.register(SnapExtension);
|
||||
context.register(SnapOverlay);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user