create-free-stack-plugin.ts 814 B

1234567891011121314151617181920212223242526
  1. /**
  2. * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
  3. * SPDX-License-Identifier: MIT
  4. */
  5. import { definePluginCreator } from '@flowgram.ai/core';
  6. import { StackingContextManager } from './manager';
  7. export const createFreeStackPlugin = definePluginCreator({
  8. onBind({ bind }) {
  9. bind(StackingContextManager).toSelf().inSingletonScope();
  10. },
  11. onInit(ctx) {
  12. const stackingContextManager = ctx.get<StackingContextManager>(StackingContextManager);
  13. stackingContextManager.init();
  14. },
  15. onReady(ctx) {
  16. const stackingContextManager = ctx.get<StackingContextManager>(StackingContextManager);
  17. stackingContextManager.ready();
  18. },
  19. onDispose(ctx) {
  20. const stackingContextManager = ctx.get<StackingContextManager>(StackingContextManager);
  21. stackingContextManager.dispose();
  22. },
  23. });