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


TypeScript DocumentRegistry.preferredWidgetFactories方法代碼示例

本文整理匯總了TypeScript中@jupyterlab/docregistry.DocumentRegistry.preferredWidgetFactories方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript DocumentRegistry.preferredWidgetFactories方法的具體用法?TypeScript DocumentRegistry.preferredWidgetFactories怎麽用?TypeScript DocumentRegistry.preferredWidgetFactories使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在@jupyterlab/docregistry.DocumentRegistry的用法示例。


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

示例1: it

 it('should select the factory for a given extension', () => {
   let factory = createFactory();
   registry.addWidgetFactory(factory);
   let mdFactory = new WidgetFactory({
     name: 'markdown',
     fileTypes: ['markdown'],
   });
   registry.addWidgetFactory(mdFactory);
   expect(registry.preferredWidgetFactories('a.txt')[0]).to.be(factory);
   expect(registry.preferredWidgetFactories('a.md')[0]).to.be(mdFactory);
 });
開發者ID:groutr,項目名稱:jupyterlab,代碼行數:11,代碼來源:registry.spec.ts

示例2: it

 it('should handle just a multi-part extension', () => {
   registry.addModelFactory(new TextModelFactory());
   let factory = new WidgetFactory({
     name: 'table',
     fileExtensions: ['.table.json'],
   });
   registry.addWidgetFactory(factory);
   let factories = registry.preferredWidgetFactories('.table.json');
   expect(toArray(factories)).to.eql([factory]);
   factories = registry.preferredWidgetFactories('.json');
   expect(toArray(factories)).to.eql([]);
 });
開發者ID:charnpreetsingh185,項目名稱:jupyterlab,代碼行數:12,代碼來源:registry.spec.ts

示例3: createContextMenu

/**
 * Create a context menu for the file browser listing.
 *
 * #### Notes
 * This function generates temporary commands with an incremented name. These
 * commands are disposed when the menu itself is disposed.
 */
function createContextMenu(
  model: Contents.IModel | undefined,
  commands: CommandRegistry,
  registry: DocumentRegistry
): Menu {
  const menu = new Menu({ commands });

  // If the user did not click on any file, we still want to show
  // paste as a possibility.
  if (!model) {
    menu.addItem({ command: CommandIDs.paste });
    return menu;
  }

  menu.addItem({ command: CommandIDs.open });

  const path = model.path;
  if (model.type !== 'directory') {
    const factories = registry.preferredWidgetFactories(path).map(f => f.name);
    const notebookFactory = registry.getWidgetFactory('notebook').name;
    if (
      model.type === 'notebook' &&
      factories.indexOf(notebookFactory) === -1
    ) {
      factories.unshift(notebookFactory);
    }
    if (path && factories.length > 1) {
      const command = 'docmanager:open';
      const openWith = new Menu({ commands });
      openWith.title.label = 'Open With';
      factories.forEach(factory => {
        openWith.addItem({ args: { factory, path }, command });
      });
      menu.addItem({ type: 'submenu', submenu: openWith });
    }
    menu.addItem({ command: CommandIDs.openBrowserTab });
  }

  menu.addItem({ command: CommandIDs.rename });
  menu.addItem({ command: CommandIDs.del });
  menu.addItem({ command: CommandIDs.cut });

  if (model.type !== 'directory') {
    menu.addItem({ command: CommandIDs.copy });
  }

  menu.addItem({ command: CommandIDs.paste });

  if (model.type !== 'directory') {
    menu.addItem({ command: CommandIDs.duplicate });
    menu.addItem({ command: CommandIDs.download });
    menu.addItem({ command: CommandIDs.shutdown });
  }

  menu.addItem({ command: CommandIDs.share });
  menu.addItem({ command: CommandIDs.copyPath });
  menu.addItem({ command: CommandIDs.copyDownloadLink });

  return menu;
}
開發者ID:willingc,項目名稱:jupyterlab,代碼行數:67,代碼來源:index.ts

示例4: createContextMenu

/**
 * Create a context menu for the file browser listing.
 *
 * #### Notes
 * This function generates temporary commands with an incremented name. These
 * commands are disposed when the menu itself is disposed.
 */
function createContextMenu(path: string, commands: CommandRegistry, registry: DocumentRegistry):  Menu {
  const menu = new Menu({ commands });

  menu.addItem({ command: CommandIDs.open });

  const factories = registry.preferredWidgetFactories(path).map(f => f.name);
  if (path && factories.length > 1) {
    const command =  'docmanager:open';
    const openWith = new Menu({ commands });
    openWith.title.label = 'Open With...';
    factories.forEach(factory => {
      openWith.addItem({ args: { factory, path }, command });
    });
    menu.addItem({ type: 'submenu', submenu: openWith });
  }

  menu.addItem({ command: CommandIDs.rename });
  menu.addItem({ command: CommandIDs.del });
  menu.addItem({ command: CommandIDs.duplicate });
  menu.addItem({ command: CommandIDs.cut });
  menu.addItem({ command: CommandIDs.copy });
  menu.addItem({ command: CommandIDs.paste });
  menu.addItem({ command: CommandIDs.download });
  menu.addItem({ command: CommandIDs.shutdown });

  return menu;
}
開發者ID:sccolbert,項目名稱:jupyterlab,代碼行數:34,代碼來源:index.ts

示例5: it

 it('should handle multi-part extensions', () => {
   const factory = createFactory();
   registry.addWidgetFactory(factory);
   const tFactory = new WidgetFactory({
     name: 'table',
     fileTypes: ['tablejson']
   });
   registry.addWidgetFactory(tFactory);
   const jFactory = new WidgetFactory({
     name: 'json',
     fileTypes: ['json']
   });
   registry.addWidgetFactory(jFactory);
   let factories = registry.preferredWidgetFactories('foo.table.json');
   expect(toArray(factories)).to.deep.equal([tFactory, jFactory]);
   factories = registry.preferredWidgetFactories('foo.json');
   expect(toArray(factories)).to.deep.equal([jFactory]);
 });
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:18,代碼來源:registry.spec.ts


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