當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。