當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript statusbar.IStatusBar類代碼示例

本文整理匯總了TypeScript中@jupyterlab/statusbar.IStatusBar的典型用法代碼示例。如果您正苦於以下問題:TypeScript IStatusBar類的具體用法?TypeScript IStatusBar怎麽用?TypeScript IStatusBar使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了IStatusBar類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: EditorSyntaxStatus

 activate: (
   app: JupyterFrontEnd,
   statusBar: IStatusBar,
   tracker: IEditorTracker,
   labShell: ILabShell
 ) => {
   let item = new EditorSyntaxStatus({ commands: app.commands });
   labShell.currentChanged.connect(() => {
     const current = labShell.currentWidget;
     if (current && tracker.has(current)) {
       item.model.editor = (current as IDocumentWidget<
         FileEditor
       >).content.editor;
     }
   });
   statusBar.registerStatusItem(
     '@jupyterlab/codemirror-extension:editor-syntax-status',
     {
       item,
       align: 'left',
       rank: 0,
       isActive: () =>
         labShell.currentWidget &&
         tracker.currentWidget &&
         labShell.currentWidget === tracker.currentWidget
     }
   );
 }
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:28,代碼來源:index.ts

示例2: Menu

  activate: (
    app: JupyterFrontEnd,
    statusBar: IStatusBar,
    editorTracker: IEditorTracker,
    settingRegistry: ISettingRegistry
  ) => {
    // Create a menu for switching tabs vs spaces.
    const menu = new Menu({ commands: app.commands });
    const command = 'fileeditor:change-tabs';
    const { shell } = app;
    const args: JSONObject = {
      insertSpaces: false,
      size: 4,
      name: 'Indent with Tab'
    };
    menu.addItem({ command, args });
    for (let size of [1, 2, 4, 8]) {
      let args: JSONObject = {
        insertSpaces: true,
        size,
        name: `Spaces: ${size} `
      };
      menu.addItem({ command, args });
    }

    // Create the status item.
    const item = new TabSpaceStatus({ menu });

    // Keep a reference to the code editor config from the settings system.
    const updateSettings = (settings: ISettingRegistry.ISettings): void => {
      const cached = settings.get('editorConfig').composite as Partial<
        CodeEditor.IConfig
      >;
      const config: CodeEditor.IConfig = {
        ...CodeEditor.defaultConfig,
        ...cached
      };
      item.model!.config = config;
    };
    void Promise.all([
      settingRegistry.load('@jupyterlab/fileeditor-extension:plugin'),
      app.restored
    ]).then(([settings]) => {
      updateSettings(settings);
      settings.changed.connect(updateSettings);
    });

    // Add the status item.
    statusBar.registerStatusItem(
      '@jupyterlab/fileeditor-extension:tab-space-status',
      {
        item,
        align: 'right',
        rank: 1,
        isActive: () => {
          return shell.currentWidget && editorTracker.has(shell.currentWidget);
        }
      }
    );
  }
開發者ID:alexmorley,項目名稱:jupyterlab,代碼行數:60,代碼來源:index.ts

示例3: PathStatus

  activate: (
    app: JupyterLab,
    statusBar: IStatusBar,
    docManager: IDocumentManager
  ) => {
    let item = new PathStatus({ docManager });

    // Keep the file path widget up-to-date with the application active widget.
    item.model!.widget = app.shell.currentWidget;
    app.shell.currentChanged.connect(() => {
      item.model!.widget = app.shell.currentWidget;
    });

    statusBar.registerStatusItem(
      '@jupyterlab/docmanager-extension:path-status',
      {
        item,
        align: 'right',
        rank: 0,
        isActive: () => {
          return true;
        }
      }
    );
  }
開發者ID:AlbertHilb,項目名稱:jupyterlab,代碼行數:25,代碼來源:index.ts

示例4: SavingStatus

  activate: (
    app: JupyterLab,
    statusBar: IStatusBar,
    docManager: IDocumentManager
  ) => {
    let item = new SavingStatus({ docManager });

    // Keep the currently active widget synchronized.
    item.model!.widget = app.shell.currentWidget;
    app.shell.currentChanged.connect(
      () => (item.model!.widget = app.shell.currentWidget)
    );

    statusBar.registerStatusItem(
      '@jupyterlab.docmanager-extension:saving-status',
      {
        item,
        align: 'middle',
        isActive: () => {
          return true;
        },
        activeStateChanged: item.model!.stateChanged
      }
    );
  }
開發者ID:AlbertHilb,項目名稱:jupyterlab,代碼行數:25,代碼來源:index.ts

示例5: MemoryUsage

  activate: (app: JupyterLab, statusBar: IStatusBar) => {
    let item = new MemoryUsage();

    statusBar.registerStatusItem(
      '@jupyterlab/statusbar-extension:memory-usage-status',
      {
        item,
        align: 'left',
        rank: 2,
        isActive: () => item.model!.metricsAvailable,
        activeStateChanged: item.model!.stateChanged
      }
    );
  }
開發者ID:AlbertHilb,項目名稱:jupyterlab,代碼行數:14,代碼來源:index.ts

示例6: RunningSessions

  activate: (app: JupyterLab, statusBar: IStatusBar) => {
    const item = new RunningSessions({
      onClick: () => app.shell.activateById('jp-running-sessions'),
      serviceManager: app.serviceManager
    });

    statusBar.registerStatusItem(
      '@jupyterlab/statusbar-extension:running-sessions-status',
      {
        item,
        align: 'left',
        rank: 0
      }
    );
  }
開發者ID:AlbertHilb,項目名稱:jupyterlab,代碼行數:15,代碼來源:index.ts

示例7: FileUploadStatus

  activate: (
    app: JupyterFrontEnd,
    statusBar: IStatusBar,
    browser: IFileBrowserFactory
  ) => {
    const item = new FileUploadStatus({
      tracker: browser.tracker
    });

    statusBar.registerStatusItem(
      '@jupyterlab/filebrowser-extension:file-upload-status',
      {
        item,
        align: 'middle',
        isActive: () => {
          return !!item.model && item.model.items.length > 0;
        },
        activeStateChanged: item.model.stateChanged
      }
    );
  }
開發者ID:ellisonbg,項目名稱:jupyterlab,代碼行數:21,代碼來源:index.ts

示例8: PathStatus

  activate: (
    _: JupyterFrontEnd,
    statusBar: IStatusBar,
    docManager: IDocumentManager,
    labShell: ILabShell
  ) => {
    const path = new PathStatus({ docManager });

    // Keep the file path widget up-to-date with the application active widget.
    path.model!.widget = labShell.currentWidget;
    labShell.currentChanged.connect(() => {
      path.model!.widget = labShell.currentWidget;
    });

    statusBar.registerStatusItem(pathStatusPlugin.id, {
      item: path,
      align: 'right',
      rank: 0,
      isActive: () => true
    });
  }
開發者ID:alexmorley,項目名稱:jupyterlab,代碼行數:21,代碼來源:index.ts

示例9: SavingStatus

  activate: (
    _: JupyterFrontEnd,
    statusBar: IStatusBar,
    docManager: IDocumentManager,
    labShell: ILabShell
  ) => {
    const saving = new SavingStatus({ docManager });

    // Keep the currently active widget synchronized.
    saving.model!.widget = labShell.currentWidget;
    labShell.currentChanged.connect(() => {
      saving.model!.widget = labShell.currentWidget;
    });

    statusBar.registerStatusItem(savingStatusPlugin.id, {
      item: saving,
      align: 'middle',
      isActive: () => true,
      activeStateChanged: saving.model!.stateChanged
    });
  }
開發者ID:alexmorley,項目名稱:jupyterlab,代碼行數:21,代碼來源:index.ts

示例10: KernelStatus

  activate: (
    app: JupyterLab,
    statusBar: IStatusBar,
    notebookTracker: INotebookTracker,
    consoleTracker: IConsoleTracker
  ) => {
    // When the status item is clicked, launch the kernel
    // selection dialog for the current session.
    let currentSession: IClientSession | null = null;
    const changeKernel = () => {
      if (!currentSession) {
        return;
      }
      currentSession.selectKernel();
    };

    // Create the status item.
    const item = new KernelStatus({
      onClick: changeKernel
    });

    // When the title of the active widget changes, update the label
    // of the hover text.
    const onTitleChanged = (title: Title<Widget>) => {
      item.model!.activityName = title.label;
    };

    // Keep the session object on the status item up-to-date.
    app.shell.currentChanged.connect((shell, change) => {
      const { oldValue, newValue } = change;

      // Clean up after the old value if it exists,
      // listen for changes to the title of the activity
      if (oldValue) {
        oldValue.title.changed.disconnect(onTitleChanged);
      }
      if (newValue) {
        newValue.title.changed.connect(onTitleChanged);
      }

      // Grab the session off of the current widget, if it exists.
      if (newValue && consoleTracker.has(newValue)) {
        currentSession = (newValue as ConsolePanel).session;
      } else if (newValue && notebookTracker.has(newValue)) {
        currentSession = (newValue as NotebookPanel).session;
      } else {
        currentSession = null;
      }
      item.model!.session = currentSession;
    });

    statusBar.registerStatusItem(
      '@jupyterlab/statusbar-extension:kernel-status',
      {
        item,
        align: 'left',
        rank: 1,
        isActive: () => {
          const current = app.shell.currentWidget;
          return (
            current &&
            (notebookTracker.has(current) || consoleTracker.has(current))
          );
        }
      }
    );
  }
開發者ID:AlbertHilb,項目名稱:jupyterlab,代碼行數:67,代碼來源:index.ts


注:本文中的@jupyterlab/statusbar.IStatusBar類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。