当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript apputils.InstanceTracker类代码示例

本文整理汇总了TypeScript中@jupyterlab/apputils.InstanceTracker的典型用法代码示例。如果您正苦于以下问题:TypeScript InstanceTracker类的具体用法?TypeScript InstanceTracker怎么用?TypeScript InstanceTracker使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了InstanceTracker类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: MimeDocumentFactory

      options.forEach(option => {
        let factory = new MimeDocumentFactory({
          renderTimeout: item.renderTimeout,
          dataType: item.dataType,
          rendermime,
          modelName: option.modelName,
          name: option.name,
          primaryFileType: registry.getFileType(option.primaryFileType),
          fileTypes: option.fileTypes,
          defaultFor: option.defaultFor
        });
        registry.addWidgetFactory(factory);

        const factoryName = factory.name;
        const namespace = `${factoryName}-renderer`;
        const tracker = new InstanceTracker<MimeDocument>({ namespace });

        // Handle state restoration.
        restorer.restore(tracker, {
          command: 'docmanager:open',
          args: widget => ({ path: widget.context.path, factory: factoryName }),
          name: widget => widget.context.path
        });

        factory.widgetCreated.connect((sender, widget) => {
          // Notify the instance tracker if restore data needs to update.
          widget.context.pathChanged.connect(() => { tracker.save(widget); });
          tracker.add(widget);
        });
      });
开发者ID:7125messi,项目名称:jupyterlab,代码行数:30,代码来源:mimerenderers.ts

示例2: InspectorManager

  activate: (app: JupyterLab, palette: ICommandPalette, restorer: ILayoutRestorer): IInspector => {
    const { commands, shell } = app;
    const manager = new InspectorManager();
    const category = 'Inspector';
    const command = CommandIDs.open;
    const label = 'Open Inspector';
    const tracker = new InstanceTracker<InspectorPanel>({
      namespace: 'inspector',
      shell
    });

    /**
     * Create and track a new inspector.
     */
    function newInspectorPanel(): InspectorPanel {
      const inspector = new InspectorPanel();

      inspector.id = 'jp-inspector';
      inspector.title.label = 'Inspector';
      inspector.title.closable = true;
      inspector.disposed.connect(() => {
        if (manager.inspector === inspector) {
          manager.inspector = null;
        }
      });

      // Track the inspector.
      tracker.add(inspector);

      // Add the default inspector child items.
      Private.defaultInspectorItems.forEach(item => { inspector.add(item); });

      return inspector;
    }

    // Handle state restoration.
    restorer.restore(tracker, {
      command,
      args: () => null,
      name: () => 'inspector'
    });

    // Add command to registry and palette.
    commands.addCommand(command, {
      label,
      execute: () => {
        if (!manager.inspector || manager.inspector.isDisposed) {
          manager.inspector = newInspectorPanel();
          shell.addToMainArea(manager.inspector);
        }
        if (manager.inspector.isAttached) {
          tracker.activate(manager.inspector);
        }
      }
    });
    palette.addItem({ command, category });

    return manager;
  }
开发者ID:samvasko,项目名称:jupyterlab,代码行数:59,代码来源:index.ts

示例3: describe

  describe('RunMenu', () => {
    let commands: CommandRegistry;
    let menu: RunMenu;
    let tracker: InstanceTracker<Wodget>;
    let wodget: Wodget;

    beforeAll(() => {
      commands = new CommandRegistry();
    });

    beforeEach(() => {
      wodget = new Wodget();
      menu = new RunMenu({ commands });
      tracker = new InstanceTracker<Wodget>({ namespace: 'wodget' });
      void tracker.add(wodget);
    });

    afterEach(() => {
      menu.dispose();
      tracker.dispose();
      wodget.dispose();
    });

    describe('#constructor()', () => {
      it('should construct a new run menu', () => {
        expect(menu).to.be.an.instanceof(RunMenu);
        expect(menu.menu.title.label).to.equal('Run');
      });
    });

    describe('#codeRunners', () => {
      it('should allow setting of an ICodeRunner', () => {
        const runner: IRunMenu.ICodeRunner<Wodget> = {
          tracker,
          noun: 'Noun',
          run: widget => {
            widget.state = 'run';
            return Promise.resolve(void 0);
          },
          runAll: widget => {
            widget.state = 'runAll';
            return Promise.resolve(void 0);
          },
          restartAndRunAll: widget => {
            widget.state = 'restartAndRunAll';
            return Promise.resolve(void 0);
          }
        };
        menu.codeRunners.add(runner);
        void delegateExecute(wodget, menu.codeRunners, 'run');
        expect(wodget.state).to.equal('run');
        void delegateExecute(wodget, menu.codeRunners, 'runAll');
        expect(wodget.state).to.equal('runAll');
        void delegateExecute(wodget, menu.codeRunners, 'restartAndRunAll');
        expect(wodget.state).to.equal('restartAndRunAll');
      });
    });
  });
开发者ID:alexmorley,项目名称:jupyterlab,代码行数:58,代码来源:run.spec.ts

示例4:

      return promise.then(session => {
        term.session = session;
        tracker.add(term);
        shell.activateById(term.id);

        return term;
      }).catch(() => { term.dispose(); });
开发者ID:7125messi,项目名称:jupyterlab,代码行数:7,代码来源:index.ts

示例5:

        .then(session => {
          term.session = session;
          void tracker.add(main);
          app.shell.activateById(main.id);

          return main;
        })
开发者ID:afshin,项目名称:jupyterlab,代码行数:7,代码来源:index.ts

示例6:

 factory.widgetCreated.connect((sender, widget) => {
   Private.factoryNameProperty.set(widget, factory.name);
   // Notify the instance tracker if restore data needs to update.
   widget.context.pathChanged.connect(() => {
     void tracker.save(widget);
   });
   void tracker.add(widget);
 });
开发者ID:afshin,项目名称:jupyterlab,代码行数:8,代码来源:mimerenderers.ts

示例7:

 execute: () => {
   let options = Terminal.defaultOptions;
   if (options.fontSize < 72) {
     options.fontSize++;
     tracker.forEach(widget => {
       widget.content.fontSize = options.fontSize;
     });
   }
 },
开发者ID:cfsmile,项目名称:jupyterlab,代码行数:9,代码来源:index.ts

示例8: newInspectorPanel

 execute: () => {
   if (!manager.inspector || manager.inspector.isDisposed) {
     manager.inspector = newInspectorPanel();
     shell.addToMainArea(manager.inspector);
   }
   if (manager.inspector.isAttached) {
     tracker.activate(manager.inspector);
   }
 }
开发者ID:samvasko,项目名称:jupyterlab,代码行数:9,代码来源:index.ts

示例9:

 execute: () => {
   tracker.forEach(widget => {
     if (widget.theme === 'dark') {
       widget.theme = 'light';
     } else {
       widget.theme = 'dark';
     }
   });
 },
开发者ID:cameronoelsen,项目名称:jupyterlab,代码行数:9,代码来源:index.ts


注:本文中的@jupyterlab/apputils.InstanceTracker类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。