mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-22 04:26:23 +08:00
04531508cb
Closes: BS-3393 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new "Embed Doc" block, enabling embedding and rendering of linked and synced documents within cards, including support for banners and note previews. - Added new toolbar and quick search options for inserting embedded linked and synced documents. - **Improvements** - Updated dependencies and internal references to support the new embed doc functionality across related blocks and components. - Enhanced support for edgeless environments with new clipboard and configuration options for embedded docs. - **Refactor** - Streamlined and reorganized embed-related code, moving linked and synced doc logic into a dedicated embed doc module. - Removed obsolete adapter and utility files to simplify maintenance. - **Chores** - Updated project and TypeScript configuration files to include the new embed doc module in builds and references. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
37 lines
954 B
TypeScript
37 lines
954 B
TypeScript
import {
|
|
type ViewExtensionContext,
|
|
ViewExtensionProvider,
|
|
} from '@blocksuite/affine-ext-loader';
|
|
|
|
import { effects } from './effects';
|
|
import {
|
|
EdgelessClipboardEmbedLinkedDocConfig,
|
|
EmbedLinkedDocViewExtensions,
|
|
} from './embed-linked-doc-block';
|
|
import {
|
|
EdgelessClipboardEmbedSyncedDocConfig,
|
|
EmbedSyncedDocViewExtensions,
|
|
} from './embed-synced-doc-block';
|
|
|
|
export class EmbedDocViewExtension extends ViewExtensionProvider {
|
|
override name = 'affine-embed-doc-block';
|
|
|
|
override effect(): void {
|
|
super.effect();
|
|
effects();
|
|
}
|
|
|
|
override setup(context: ViewExtensionContext) {
|
|
super.setup(context);
|
|
context.register(EmbedLinkedDocViewExtensions);
|
|
context.register(EmbedSyncedDocViewExtensions);
|
|
const isEdgeless = this.isEdgeless(context.scope);
|
|
if (isEdgeless) {
|
|
context.register([
|
|
EdgelessClipboardEmbedLinkedDocConfig,
|
|
EdgelessClipboardEmbedSyncedDocConfig,
|
|
]);
|
|
}
|
|
}
|
|
}
|