create-select-box-plugin.ts 897 B

1234567891011121314151617181920212223242526272829
  1. import {
  2. FlowSelectorBoundsLayer,
  3. FlowSelectorBoundsLayerOptions,
  4. FlowSelectorBoxLayer,
  5. FlowSelectorBoxOptions,
  6. type SelectorBoxPopoverProps,
  7. } from '@flowgram.ai/renderer';
  8. import { definePluginCreator } from '@flowgram.ai/core';
  9. // import { SelectorBounds } from './selector-bounds';
  10. export { type SelectorBoxPopoverProps };
  11. export interface SelectBoxPluginOptions
  12. extends FlowSelectorBoundsLayerOptions,
  13. FlowSelectorBoxOptions {
  14. enable?: boolean;
  15. }
  16. export const createSelectBoxPlugin = definePluginCreator<SelectBoxPluginOptions>({
  17. onInit(ctx, opts): void {
  18. // 默认可用,所以强制判断 false
  19. if (opts.enable !== false) {
  20. ctx.playground.registerLayer<FlowSelectorBoundsLayer>(FlowSelectorBoundsLayer, opts);
  21. ctx.playground.registerLayer<FlowSelectorBoxLayer>(FlowSelectorBoxLayer, {
  22. canSelect: opts.canSelect,
  23. });
  24. }
  25. },
  26. });