use-editor-props.tsx 808 B

123456789101112131415161718192021222324252627
  1. import { useMemo } from 'react';
  2. import { createMinimapPlugin } from '@flowgram.ai/minimap-plugin';
  3. import { createFreeSnapPlugin } from '@flowgram.ai/free-snap-plugin';
  4. import { FreeLayoutProps } from '@flowgram.ai/free-layout-editor';
  5. import { NodeRender } from './node-render';
  6. import { nodeRegistries } from './node-registries';
  7. import { initialData } from './initial-data';
  8. export const useEditorProps = () =>
  9. useMemo<FreeLayoutProps>(
  10. () => ({
  11. plugins: () => [createMinimapPlugin({}), createFreeSnapPlugin({})],
  12. onAllLayersRendered: (ctx) => {
  13. ctx.tools.fitView(false);
  14. },
  15. materials: {
  16. renderDefaultNode: NodeRender,
  17. },
  18. nodeRegistries,
  19. canDeleteNode: () => true,
  20. canDeleteLine: () => true,
  21. initialData,
  22. }),
  23. []
  24. );