mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
210 lines
8.3 KiB
TypeScript
210 lines
8.3 KiB
TypeScript
import { effects as gfxBrushEffects } from '@blocksuite/affine-gfx-brush/effects';
|
|
import { effects as gfxConnectorEffects } from '@blocksuite/affine-gfx-connector/effects';
|
|
import { effects as gfxGroupEffects } from '@blocksuite/affine-gfx-group/effects';
|
|
import { effects as gfxMindmapEffects } from '@blocksuite/affine-gfx-mindmap/effects';
|
|
import { effects as gfxNoteEffects } from '@blocksuite/affine-gfx-note/effects';
|
|
import { effects as gfxShapeEffects } from '@blocksuite/affine-gfx-shape/effects';
|
|
import { effects as gfxCanvasTextEffects } from '@blocksuite/affine-gfx-text/effects';
|
|
import { effects as widgetEdgelessToolbarEffects } from '@blocksuite/affine-widget-edgeless-toolbar/effects';
|
|
|
|
import { EdgelessAutoCompletePanel } from './edgeless/components/auto-complete/auto-complete-panel.js';
|
|
import { EdgelessAutoComplete } from './edgeless/components/auto-complete/edgeless-auto-complete.js';
|
|
import {
|
|
NOTE_SLICER_WIDGET,
|
|
NoteSlicer,
|
|
} from './edgeless/components/note-slicer/index.js';
|
|
import {
|
|
EDGELESS_DRAGGING_AREA_WIDGET,
|
|
EdgelessDraggingAreaRectWidget,
|
|
} from './edgeless/components/rects/edgeless-dragging-area-rect.js';
|
|
import {
|
|
EDGELESS_SELECTED_RECT_WIDGET,
|
|
EdgelessSelectedRectWidget,
|
|
} from './edgeless/components/rects/edgeless-selected-rect.js';
|
|
import { EdgelessSlideMenu } from './edgeless/components/toolbar/common/slide-menu.js';
|
|
import { ToolbarArrowUpIcon } from './edgeless/components/toolbar/common/toolbar-arrow-up-icon.js';
|
|
import { EdgelessDefaultToolButton } from './edgeless/components/toolbar/default/default-tool-button.js';
|
|
import { EdgelessLassoToolButton } from './edgeless/components/toolbar/lasso/lasso-tool-button.js';
|
|
import { EdgelessLinkToolButton } from './edgeless/components/toolbar/link/link-tool-button.js';
|
|
import { OverlayScrollbar } from './edgeless/components/toolbar/template/overlay-scrollbar.js';
|
|
import { AffineTemplateLoading } from './edgeless/components/toolbar/template/template-loading.js';
|
|
import { EdgelessTemplatePanel } from './edgeless/components/toolbar/template/template-panel.js';
|
|
import { EdgelessTemplateButton } from './edgeless/components/toolbar/template/template-tool-button.js';
|
|
import {
|
|
AffineImageToolbarWidget,
|
|
AffineModalWidget,
|
|
EdgelessRootBlockComponent,
|
|
EdgelessRootPreviewBlockComponent,
|
|
PageRootBlockComponent,
|
|
PreviewRootBlockComponent,
|
|
} from './index.js';
|
|
import {
|
|
EDGELESS_NAVIGATOR_BLACK_BACKGROUND_WIDGET,
|
|
EdgelessNavigatorBlackBackgroundWidget,
|
|
} from './widgets/edgeless-navigator-bg/index.js';
|
|
import {
|
|
AFFINE_EDGELESS_ZOOM_TOOLBAR_WIDGET,
|
|
AffineEdgelessZoomToolbarWidget,
|
|
} from './widgets/edgeless-zoom-toolbar/index.js';
|
|
import { ZoomBarToggleButton } from './widgets/edgeless-zoom-toolbar/zoom-bar-toggle-button.js';
|
|
import { EdgelessZoomToolbar } from './widgets/edgeless-zoom-toolbar/zoom-toolbar.js';
|
|
import { AffineImageToolbar } from './widgets/image-toolbar/components/image-toolbar.js';
|
|
import { AFFINE_IMAGE_TOOLBAR_WIDGET } from './widgets/image-toolbar/index.js';
|
|
import {
|
|
AFFINE_INNER_MODAL_WIDGET,
|
|
AffineInnerModalWidget,
|
|
} from './widgets/inner-modal/inner-modal.js';
|
|
import { effects as widgetMobileToolbarEffects } from './widgets/keyboard-toolbar/effects.js';
|
|
import { effects as widgetLinkedDocEffects } from './widgets/linked-doc/effects.js';
|
|
import { Loader } from './widgets/linked-doc/import-doc/loader.js';
|
|
import { AffineCustomModal } from './widgets/modal/custom-modal.js';
|
|
import { AFFINE_MODAL_WIDGET } from './widgets/modal/modal.js';
|
|
import {
|
|
AFFINE_PAGE_DRAGGING_AREA_WIDGET,
|
|
AffinePageDraggingAreaWidget,
|
|
} from './widgets/page-dragging-area/page-dragging-area.js';
|
|
import {
|
|
AFFINE_VIEWPORT_OVERLAY_WIDGET,
|
|
AffineViewportOverlayWidget,
|
|
} from './widgets/viewport-overlay/viewport-overlay.js';
|
|
|
|
export function effects() {
|
|
// Run other effects
|
|
widgetMobileToolbarEffects();
|
|
widgetLinkedDocEffects();
|
|
widgetEdgelessToolbarEffects();
|
|
|
|
// Register components by category
|
|
registerRootComponents();
|
|
registerGfxEffects();
|
|
registerWidgets();
|
|
registerEdgelessToolbarComponents();
|
|
registerMiscComponents();
|
|
}
|
|
|
|
function registerRootComponents() {
|
|
customElements.define('affine-page-root', PageRootBlockComponent);
|
|
customElements.define('affine-preview-root', PreviewRootBlockComponent);
|
|
customElements.define('affine-edgeless-root', EdgelessRootBlockComponent);
|
|
customElements.define(
|
|
'affine-edgeless-root-preview',
|
|
EdgelessRootPreviewBlockComponent
|
|
);
|
|
}
|
|
|
|
function registerGfxEffects() {
|
|
gfxCanvasTextEffects();
|
|
gfxShapeEffects();
|
|
gfxNoteEffects();
|
|
gfxConnectorEffects();
|
|
gfxMindmapEffects();
|
|
gfxGroupEffects();
|
|
gfxBrushEffects();
|
|
}
|
|
|
|
function registerWidgets() {
|
|
customElements.define(AFFINE_INNER_MODAL_WIDGET, AffineInnerModalWidget);
|
|
customElements.define(AFFINE_MODAL_WIDGET, AffineModalWidget);
|
|
customElements.define(
|
|
AFFINE_PAGE_DRAGGING_AREA_WIDGET,
|
|
AffinePageDraggingAreaWidget
|
|
);
|
|
customElements.define(AFFINE_IMAGE_TOOLBAR_WIDGET, AffineImageToolbarWidget);
|
|
customElements.define(
|
|
AFFINE_VIEWPORT_OVERLAY_WIDGET,
|
|
AffineViewportOverlayWidget
|
|
);
|
|
customElements.define(
|
|
AFFINE_EDGELESS_ZOOM_TOOLBAR_WIDGET,
|
|
AffineEdgelessZoomToolbarWidget
|
|
);
|
|
}
|
|
|
|
function registerEdgelessToolbarComponents() {
|
|
// Tool buttons
|
|
customElements.define(
|
|
'edgeless-default-tool-button',
|
|
EdgelessDefaultToolButton
|
|
);
|
|
customElements.define('edgeless-link-tool-button', EdgelessLinkToolButton);
|
|
customElements.define('edgeless-lasso-tool-button', EdgelessLassoToolButton);
|
|
customElements.define('edgeless-template-button', EdgelessTemplateButton);
|
|
|
|
// Menus
|
|
customElements.define('edgeless-slide-menu', EdgelessSlideMenu);
|
|
|
|
// Toolbar components
|
|
customElements.define('toolbar-arrow-up-icon', ToolbarArrowUpIcon);
|
|
}
|
|
|
|
function registerMiscComponents() {
|
|
// Modal and menu components
|
|
customElements.define('affine-custom-modal', AffineCustomModal);
|
|
|
|
// Loading and preview components
|
|
customElements.define('loader-element', Loader);
|
|
customElements.define('affine-template-loading', AffineTemplateLoading);
|
|
|
|
// Toolbar and UI components
|
|
customElements.define('affine-image-toolbar', AffineImageToolbar);
|
|
customElements.define('edgeless-zoom-toolbar', EdgelessZoomToolbar);
|
|
customElements.define('zoom-bar-toggle-button', ZoomBarToggleButton);
|
|
customElements.define('overlay-scrollbar', OverlayScrollbar);
|
|
|
|
// Auto-complete components
|
|
customElements.define(
|
|
'edgeless-auto-complete-panel',
|
|
EdgelessAutoCompletePanel
|
|
);
|
|
customElements.define('edgeless-auto-complete', EdgelessAutoComplete);
|
|
|
|
// Note and template components
|
|
customElements.define(NOTE_SLICER_WIDGET, NoteSlicer);
|
|
customElements.define('edgeless-templates-panel', EdgelessTemplatePanel);
|
|
|
|
// Navigation components
|
|
customElements.define(
|
|
EDGELESS_NAVIGATOR_BLACK_BACKGROUND_WIDGET,
|
|
EdgelessNavigatorBlackBackgroundWidget
|
|
);
|
|
|
|
// Dragging area components
|
|
customElements.define(
|
|
EDGELESS_DRAGGING_AREA_WIDGET,
|
|
EdgelessDraggingAreaRectWidget
|
|
);
|
|
customElements.define(
|
|
EDGELESS_SELECTED_RECT_WIDGET,
|
|
EdgelessSelectedRectWidget
|
|
);
|
|
}
|
|
|
|
declare global {
|
|
interface HTMLElementTagNameMap {
|
|
'affine-edgeless-root': EdgelessRootBlockComponent;
|
|
'affine-edgeless-root-preview': EdgelessRootPreviewBlockComponent;
|
|
'edgeless-auto-complete-panel': EdgelessAutoCompletePanel;
|
|
'edgeless-auto-complete': EdgelessAutoComplete;
|
|
'note-slicer': NoteSlicer;
|
|
'edgeless-navigator-black-background': EdgelessNavigatorBlackBackgroundWidget;
|
|
'edgeless-dragging-area-rect': EdgelessDraggingAreaRectWidget;
|
|
'edgeless-selected-rect': EdgelessSelectedRectWidget;
|
|
'edgeless-slide-menu': EdgelessSlideMenu;
|
|
'toolbar-arrow-up-icon': ToolbarArrowUpIcon;
|
|
'edgeless-default-tool-button': EdgelessDefaultToolButton;
|
|
'edgeless-lasso-tool-button': EdgelessLassoToolButton;
|
|
'edgeless-link-tool-button': EdgelessLinkToolButton;
|
|
'overlay-scrollbar': OverlayScrollbar;
|
|
'affine-template-loading': AffineTemplateLoading;
|
|
'edgeless-templates-panel': EdgelessTemplatePanel;
|
|
'affine-page-root': PageRootBlockComponent;
|
|
'zoom-bar-toggle-button': ZoomBarToggleButton;
|
|
'edgeless-zoom-toolbar': EdgelessZoomToolbar;
|
|
'affine-image-toolbar': AffineImageToolbar;
|
|
|
|
[AFFINE_EDGELESS_ZOOM_TOOLBAR_WIDGET]: AffineEdgelessZoomToolbarWidget;
|
|
[AFFINE_IMAGE_TOOLBAR_WIDGET]: AffineImageToolbarWidget;
|
|
[AFFINE_INNER_MODAL_WIDGET]: AffineInnerModalWidget;
|
|
}
|
|
}
|