feat(editor): linked doc widget extension (#12001)

Closes: BS-3225
This commit is contained in:
Saul-Mirone
2025-04-26 02:45:18 +00:00
parent 6e76a3e593
commit c3f6bea446
12 changed files with 28 additions and 13 deletions

View File

@@ -170,7 +170,8 @@
"./widgets/edgeless-toolbar/view": "./src/widgets/edgeless-toolbar/view.ts", "./widgets/edgeless-toolbar/view": "./src/widgets/edgeless-toolbar/view.ts",
"./widgets/frame-title": "./src/widgets/frame-title/index.ts", "./widgets/frame-title": "./src/widgets/frame-title/index.ts",
"./widgets/frame-title/view": "./src/widgets/frame-title/view.ts", "./widgets/frame-title/view": "./src/widgets/frame-title/view.ts",
"./widgets/linked-doc": "./src/widgets/linked-doc.ts", "./widgets/linked-doc": "./src/widgets/linked-doc/index.ts",
"./widgets/linked-doc/view": "./src/widgets/linked-doc/view.ts",
"./widgets/remote-selection": "./src/widgets/remote-selection.ts", "./widgets/remote-selection": "./src/widgets/remote-selection.ts",
"./widgets/scroll-anchoring": "./src/widgets/scroll-anchoring.ts", "./widgets/scroll-anchoring": "./src/widgets/scroll-anchoring.ts",
"./widgets/slash-menu": "./src/widgets/slash-menu.ts", "./widgets/slash-menu": "./src/widgets/slash-menu.ts",

View File

@@ -35,6 +35,7 @@ import { EdgelessAutoConnectViewExtension } from '@blocksuite/affine-widget-edge
import { EdgelessToolbarViewExtension } from '@blocksuite/affine-widget-edgeless-toolbar/view'; import { EdgelessToolbarViewExtension } from '@blocksuite/affine-widget-edgeless-toolbar/view';
import { FrameTitleViewExtension } from '@blocksuite/affine-widget-frame-title/view'; import { FrameTitleViewExtension } from '@blocksuite/affine-widget-frame-title/view';
import { KeyboardToolbarViewExtension } from '@blocksuite/affine-widget-keyboard-toolbar/view'; import { KeyboardToolbarViewExtension } from '@blocksuite/affine-widget-keyboard-toolbar/view';
import { LinkedDocViewExtension } from '@blocksuite/affine-widget-linked-doc/view';
import { MigratingViewExtension } from './migrating-view'; import { MigratingViewExtension } from './migrating-view';
@@ -85,5 +86,6 @@ export function getInternalViewExtensions() {
MigratingViewExtension, MigratingViewExtension,
FrameTitleViewExtension, FrameTitleViewExtension,
KeyboardToolbarViewExtension, KeyboardToolbarViewExtension,
LinkedDocViewExtension,
]; ];
} }

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-widget-linked-doc/view';

View File

@@ -34,7 +34,6 @@
"@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-rich-text": "workspace:*",
"@blocksuite/affine-shared": "workspace:*", "@blocksuite/affine-shared": "workspace:*",
"@blocksuite/affine-widget-edgeless-toolbar": "workspace:*", "@blocksuite/affine-widget-edgeless-toolbar": "workspace:*",
"@blocksuite/affine-widget-linked-doc": "workspace:*",
"@blocksuite/affine-widget-remote-selection": "workspace:*", "@blocksuite/affine-widget-remote-selection": "workspace:*",
"@blocksuite/affine-widget-scroll-anchoring": "workspace:*", "@blocksuite/affine-widget-scroll-anchoring": "workspace:*",
"@blocksuite/affine-widget-slash-menu": "workspace:*", "@blocksuite/affine-widget-slash-menu": "workspace:*",

View File

@@ -10,7 +10,6 @@ import {
ToolbarModuleExtension, ToolbarModuleExtension,
ToolbarRegistryExtension, ToolbarRegistryExtension,
} from '@blocksuite/affine-shared/services'; } from '@blocksuite/affine-shared/services';
import { linkedDocWidget } from '@blocksuite/affine-widget-linked-doc';
import { docRemoteSelectionWidget } from '@blocksuite/affine-widget-remote-selection'; import { docRemoteSelectionWidget } from '@blocksuite/affine-widget-remote-selection';
import { scrollAnchoringWidget } from '@blocksuite/affine-widget-scroll-anchoring'; import { scrollAnchoringWidget } from '@blocksuite/affine-widget-scroll-anchoring';
import { SlashMenuExtension } from '@blocksuite/affine-widget-slash-menu'; import { SlashMenuExtension } from '@blocksuite/affine-widget-slash-menu';
@@ -37,7 +36,6 @@ export const CommonSpecs: ExtensionType[] = [
...RootBlockAdapterExtensions, ...RootBlockAdapterExtensions,
...clipboardConfigs, ...clipboardConfigs,
SlashMenuExtension, SlashMenuExtension,
linkedDocWidget,
docRemoteSelectionWidget, docRemoteSelectionWidget,
viewportOverlayWidget, viewportOverlayWidget,
scrollAnchoringWidget, scrollAnchoringWidget,

View File

@@ -1,5 +1,3 @@
import { effects as widgetLinkedDocEffects } from '@blocksuite/affine-widget-linked-doc/effects';
import { EdgelessAutoCompletePanel } from './edgeless/components/auto-complete/auto-complete-panel.js'; import { EdgelessAutoCompletePanel } from './edgeless/components/auto-complete/auto-complete-panel.js';
import { EdgelessAutoComplete } from './edgeless/components/auto-complete/edgeless-auto-complete.js'; import { EdgelessAutoComplete } from './edgeless/components/auto-complete/edgeless-auto-complete.js';
import { import {
@@ -44,9 +42,6 @@ import {
} from './widgets/viewport-overlay/viewport-overlay.js'; } from './widgets/viewport-overlay/viewport-overlay.js';
export function effects() { export function effects() {
// Run other effects
widgetLinkedDocEffects();
// Register components by category // Register components by category
registerRootComponents(); registerRootComponents();
registerWidgets(); registerWidgets();

View File

@@ -31,7 +31,6 @@
{ "path": "../../rich-text" }, { "path": "../../rich-text" },
{ "path": "../../shared" }, { "path": "../../shared" },
{ "path": "../../widgets/edgeless-toolbar" }, { "path": "../../widgets/edgeless-toolbar" },
{ "path": "../../widgets/linked-doc" },
{ "path": "../../widgets/remote-selection" }, { "path": "../../widgets/remote-selection" },
{ "path": "../../widgets/scroll-anchoring" }, { "path": "../../widgets/scroll-anchoring" },
{ "path": "../../widgets/slash-menu" }, { "path": "../../widgets/slash-menu" },

View File

@@ -32,7 +32,8 @@
}, },
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",
"./effects": "./src/effects.ts" "./effects": "./src/effects.ts",
"./view": "./src/view.ts"
}, },
"files": [ "files": [
"src", "src",

View File

@@ -0,0 +1,21 @@
import {
type ViewExtensionContext,
ViewExtensionProvider,
} from '@blocksuite/affine-ext-loader';
import { effects } from './effects';
import { linkedDocWidget } from './widget';
export class LinkedDocViewExtension extends ViewExtensionProvider {
override name = 'affine-linked-doc-widget';
override effect() {
super.effect();
effects();
}
override setup(context: ViewExtensionContext) {
super.setup(context);
context.register(linkedDocWidget);
}
}

View File

@@ -344,7 +344,6 @@ export const PackageList = [
'blocksuite/affine/rich-text', 'blocksuite/affine/rich-text',
'blocksuite/affine/shared', 'blocksuite/affine/shared',
'blocksuite/affine/widgets/edgeless-toolbar', 'blocksuite/affine/widgets/edgeless-toolbar',
'blocksuite/affine/widgets/linked-doc',
'blocksuite/affine/widgets/remote-selection', 'blocksuite/affine/widgets/remote-selection',
'blocksuite/affine/widgets/scroll-anchoring', 'blocksuite/affine/widgets/scroll-anchoring',
'blocksuite/affine/widgets/slash-menu', 'blocksuite/affine/widgets/slash-menu',

View File

@@ -2860,7 +2860,6 @@ __metadata:
"@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-rich-text": "workspace:*"
"@blocksuite/affine-shared": "workspace:*" "@blocksuite/affine-shared": "workspace:*"
"@blocksuite/affine-widget-edgeless-toolbar": "workspace:*" "@blocksuite/affine-widget-edgeless-toolbar": "workspace:*"
"@blocksuite/affine-widget-linked-doc": "workspace:*"
"@blocksuite/affine-widget-remote-selection": "workspace:*" "@blocksuite/affine-widget-remote-selection": "workspace:*"
"@blocksuite/affine-widget-scroll-anchoring": "workspace:*" "@blocksuite/affine-widget-scroll-anchoring": "workspace:*"
"@blocksuite/affine-widget-slash-menu": "workspace:*" "@blocksuite/affine-widget-slash-menu": "workspace:*"