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


TypeScript application.JupyterFrontEndPlugin類代碼示例

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


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

示例1: createSplash

  /**
   * Create a splash element.
   */
  function createSplash(): HTMLElement {
    const splash = document.createElement('div');
    const galaxy = document.createElement('div');
    const logo = document.createElement('div');

    splash.id = 'jupyterlab-splash';
    galaxy.id = 'galaxy';
    logo.id = 'main-logo';

    galaxy.appendChild(logo);
    ['1', '2', '3'].forEach(id => {
      const moon = document.createElement('div');
      const planet = document.createElement('div');

      moon.id = `moon${id}`;
      moon.className = 'moon orbit';
      planet.id = `planet${id}`;
      planet.className = 'planet';

      moon.appendChild(planet);
      galaxy.appendChild(moon);
    });

    splash.appendChild(galaxy);

    return splash;
  }
開發者ID:jupyter,項目名稱:jupyterlab,代碼行數:30,代碼來源:index.ts

示例2: updateSettings

 async function updateSettings() {
   interactionMode = (await settingRegistry.get(pluginId, 'interactionMode'))
     .composite as string;
   tracker.forEach(panel => {
     panel.console.node.dataset.jpInteractionMode = interactionMode;
   });
 }
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:7,代碼來源:index.ts

示例3: createConsole

  /**
   * Create a console for a given path.
   */
  async function createConsole(options: ICreateOptions): Promise<ConsolePanel> {
    await manager.ready;

    const panel = new ConsolePanel({
      manager,
      contentFactory,
      mimeTypeService: editorServices.mimeTypeService,
      rendermime,
      setBusy: status ? status.setBusy.bind(status) : undefined,
      ...(options as Partial<ConsolePanel.IOptions>)
    });

    const interactionMode: string = (await settingRegistry.get(
      '@jupyterlab/console-extension:tracker',
      'interactionMode'
    )).composite as string;
    panel.console.node.dataset.jpInteractionMode = interactionMode;

    // Add the console panel to the tracker and wait for it to be ready.
    await Promise.all([tracker.add(panel), panel.session.ready]);
    panel.session.propertyChanged.connect(() => tracker.save(panel));

    shell.add(panel, 'main', {
      ref: options.ref,
      mode: options.insertMode,
      activate: options.activate
    });
    return panel;
  }
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:32,代碼來源:index.ts

示例4:

 execute: args => {
   let path = args['path'];
   tracker.find(widget => {
     if (widget.console.session.path === path) {
       if (args['activate'] !== false) {
         shell.activateById(widget.id);
       }
       void widget.console.inject(args['code'] as string);
       return true;
     }
     return false;
   });
 },
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:13,代碼來源:index.ts

示例5: loadShortcuts

  export function loadShortcuts(
    commands: CommandRegistry,
    composite: ReadonlyJSONObject
  ): void {
    const shortcuts = composite.shortcuts as ISettingRegistry.IShortcut[];

    if (disposables) {
      disposables.dispose();
    }
    disposables = shortcuts.reduce((acc, val): DisposableSet => {
      const options = normalizeOptions(val);

      if (options) {
        acc.add(commands.addKeyBinding(options));
      }

      return acc;
    }, new DisposableSet());
  }
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:19,代碼來源:index.ts

示例6: activateEditorCommands

/**
 * Set up the editor widget menu and commands.
 */
function activateEditorCommands(
  app: JupyterFrontEnd,
  tracker: IEditorTracker,
  settingRegistry: ISettingRegistry,
  mainMenu: IMainMenu | null
): void {
  const { commands, restored } = app;
  let {
    theme,
    keyMap,
    scrollPastEnd,
    styleActiveLine,
    styleSelectedText,
    selectionPointer
  } = CodeMirrorEditor.defaultConfig;

  /**
   * Update the setting values.
   */
  function updateSettings(settings: ISettingRegistry.ISettings): void {
    keyMap = (settings.get('keyMap').composite as string | null) || keyMap;
    theme = (settings.get('theme').composite as string | null) || theme;
    scrollPastEnd = settings.get('scrollPastEnd').composite as boolean | null;
    styleActiveLine =
      (settings.get('styleActiveLine').composite as boolean | object) ||
      styleActiveLine;
    styleSelectedText =
      (settings.get('styleSelectedText').composite as boolean) ||
      styleSelectedText;
    selectionPointer =
      (settings.get('selectionPointer').composite as boolean | string) ||
      selectionPointer;
  }

  /**
   * Update the settings of the current tracker instances.
   */
  function updateTracker(): void {
    tracker.forEach(widget => {
      if (widget.content.editor instanceof CodeMirrorEditor) {
        let cm = widget.content.editor.editor;
        cm.setOption('keyMap', keyMap);
        cm.setOption('theme', theme);
        cm.setOption('scrollPastEnd', scrollPastEnd);
        cm.setOption('styleActiveLine', styleActiveLine);
        cm.setOption('styleSelectedText', styleSelectedText);
        cm.setOption('selectionPointer', selectionPointer);
      }
    });
  }

  // Fetch the initial state of the settings.
  Promise.all([settingRegistry.load(id), restored])
    .then(([settings]) => {
      updateSettings(settings);
      updateTracker();
      settings.changed.connect(() => {
        updateSettings(settings);
        updateTracker();
      });
    })
    .catch((reason: Error) => {
      console.error(reason.message);
      updateTracker();
    });

  /**
   * Handle the settings of new widgets.
   */
  tracker.widgetAdded.connect((sender, widget) => {
    if (widget.content.editor instanceof CodeMirrorEditor) {
      let cm = widget.content.editor.editor;
      cm.setOption('keyMap', keyMap);
      cm.setOption('theme', theme);
      cm.setOption('scrollPastEnd', scrollPastEnd);
      cm.setOption('styleActiveLine', styleActiveLine);
      cm.setOption('styleSelectedText', styleSelectedText);
      cm.setOption('selectionPointer', selectionPointer);
    }
  });

  /**
   * A test for whether the tracker has an active widget.
   */
  function isEnabled(): boolean {
    return (
      tracker.currentWidget !== null &&
      tracker.currentWidget === app.shell.currentWidget
    );
  }

  /**
   * Create a menu for the editor.
   */
  const themeMenu = new Menu({ commands });
  const keyMapMenu = new Menu({ commands });
  const modeMenu = new Menu({ commands });
//.........這裏部分代碼省略.........
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:101,代碼來源:index.ts


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