feat(editor): group gfx extension (#11950)

Closes: BS-3208

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced a new group view extension, enhancing how group elements are handled and displayed.
  - Added new store and view modules for group-related features, improving modularity and integration.

- **Refactor**
  - Updated the group element architecture to use extension-based registration for views, toolbars, and effects.
  - Simplified and reorganized exports for group and text modules.

- **Chores**
  - Updated dependencies and project references to improve build consistency and compatibility.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Saul-Mirone
2025-04-24 03:21:53 +00:00
parent 2d3130eac9
commit 9d90899344
22 changed files with 101 additions and 50 deletions

View File

@@ -1,12 +1,4 @@
import { FileDropExtension } from '@blocksuite/affine-components/drop-indicator';
import {
ConnectorElementRendererExtension,
ConnectorElementView,
} from '@blocksuite/affine-gfx-connector';
import {
GroupElementRendererExtension,
GroupElementView,
} from '@blocksuite/affine-gfx-group';
import {
TextElementRendererExtension,
TextElementView,
@@ -42,16 +34,10 @@ import { viewportOverlayWidget } from './widgets';
* Because in some cases we need to create edgeless elements in page mode.
* And these view may contain some logic when elements initialize.
*/
const EdgelessElementViews = [
ConnectorElementView,
GroupElementView,
TextElementView,
];
const EdgelessElementViews = [TextElementView];
export const EdgelessElementRendererExtension: ExtensionType[] = [
TextElementRendererExtension,
ConnectorElementRendererExtension,
GroupElementRendererExtension,
];
export const CommonSpecs: ExtensionType[] = [

View File

@@ -1,4 +1,3 @@
import { groupToolbarExtension } from '@blocksuite/affine-gfx-group';
import { textToolbarExtension } from '@blocksuite/affine-gfx-text';
import { ToolbarModuleExtension } from '@blocksuite/affine-shared/services';
import { BlockFlavourIdentifier } from '@blocksuite/std';
@@ -7,8 +6,6 @@ import type { ExtensionType } from '@blocksuite/store';
import { builtinLockedToolbarConfig, builtinMiscToolbarConfig } from './misc';
export const EdgelessElementToolbarExtension: ExtensionType[] = [
groupToolbarExtension,
textToolbarExtension,
ToolbarModuleExtension({

View File

@@ -1,4 +1,3 @@
import { effects as gfxGroupEffects } from '@blocksuite/affine-gfx-group/effects';
import { effects as gfxCanvasTextEffects } from '@blocksuite/affine-gfx-text/effects';
import { effects as widgetEdgelessToolbarEffects } from '@blocksuite/affine-widget-edgeless-toolbar/effects';
import { effects as widgetMobileToolbarEffects } from '@blocksuite/affine-widget-keyboard-toolbar/effects';
@@ -73,7 +72,6 @@ function registerRootComponents() {
function registerGfxEffects() {
gfxCanvasTextEffects();
gfxGroupEffects();
}
function registerWidgets() {