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


TypeScript mainmenu.EditMenu类代码示例

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


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

示例1: describe

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

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

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

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

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

    describe('#undoers', () => {
      it('should allow setting of an IUndoer', () => {
        const undoer: IEditMenu.IUndoer<Wodget> = {
          tracker,
          undo: widget => {
            widget.state = 'undo';
            return;
          },
          redo: widget => {
            widget.state = 'redo';
            return;
          }
        };
        menu.undoers.add(undoer);
        delegateExecute(wodget, menu.undoers, 'undo');
        expect(wodget.state).to.equal('undo');
        delegateExecute(wodget, menu.undoers, 'redo');
        expect(wodget.state).to.equal('redo');
      });
    });

    describe('#clearers', () => {
      it('should allow setting of an IClearer', () => {
        const clearer: IEditMenu.IClearer<Wodget> = {
          tracker,
          noun: 'Nouns',
          clearCurrent: widget => {
            widget.state = 'clearCurrent';
            return;
          },
          clearAll: widget => {
            widget.state = 'clearAll';
            return;
          }
        };
        menu.clearers.add(clearer);
        delegateExecute(wodget, menu.clearers, 'clearCurrent');
        expect(wodget.state).to.equal('clearCurrent');
        delegateExecute(wodget, menu.clearers, 'clearAll');
        expect(wodget.state).to.equal('clearAll');
      });
    });

    describe('#findReplacers', () => {
      it('should allow setting of an IFindReplacer', () => {
        const finder: IEditMenu.IFindReplacer<Wodget> = {
          tracker,
          find: widget => {
            widget.state = 'find';
            return;
          },
          findAndReplace: widget => {
            widget.state = 'findAndReplace';
            return;
          }
        };
        menu.findReplacers.add(finder);
        delegateExecute(wodget, menu.findReplacers, 'find');
        expect(wodget.state).to.equal('find');
        delegateExecute(wodget, menu.findReplacers, 'findAndReplace');
        expect(wodget.state).to.equal('findAndReplace');
      });
    });
  });
开发者ID:willingc,项目名称:jupyterlab,代码行数:93,代码来源:edit.spec.ts

示例2: createEditMenu

export function createEditMenu(app: JupyterLab, menu: EditMenu): void {
  const commands = menu.menu.commands;

  // Add the undo/redo commands the the Edit menu.
  commands.addCommand(CommandIDs.undo, {
    label: 'Undo',
    isEnabled: Private.delegateEnabled(app, menu.undoers, 'undo'),
    execute: Private.delegateExecute(app, menu.undoers, 'undo')
  });
  commands.addCommand(CommandIDs.redo, {
    label: 'Redo',
    isEnabled: Private.delegateEnabled(app, menu.undoers, 'redo'),
    execute: Private.delegateExecute(app, menu.undoers, 'redo')
  });
  menu.addGroup(
    [{ command: CommandIDs.undo }, { command: CommandIDs.redo }],
    0
  );

  // Add the clear commands to the Edit menu.
  commands.addCommand(CommandIDs.clearCurrent, {
    label: () => {
      const noun = Private.delegateLabel(app, menu.clearers, 'noun');
      const enabled = Private.delegateEnabled(
        app,
        menu.clearers,
        'clearCurrent'
      )();
      return `Clear${enabled ? ` ${noun}` : ''}`;
    },
    isEnabled: Private.delegateEnabled(app, menu.clearers, 'clearCurrent'),
    execute: Private.delegateExecute(app, menu.clearers, 'clearCurrent')
  });
  commands.addCommand(CommandIDs.clearAll, {
    label: () => {
      const noun = Private.delegateLabel(app, menu.clearers, 'pluralNoun');
      const enabled = Private.delegateEnabled(app, menu.clearers, 'clearAll')();
      return `Clear All${enabled ? ` ${noun}` : ''}`;
    },
    isEnabled: Private.delegateEnabled(app, menu.clearers, 'clearAll'),
    execute: Private.delegateExecute(app, menu.clearers, 'clearAll')
  });
  menu.addGroup(
    [{ command: CommandIDs.clearCurrent }, { command: CommandIDs.clearAll }],
    10
  );

  // Add the find/replace commands the the Edit menu.
  commands.addCommand(CommandIDs.find, {
    label: 'Find…',
    isEnabled: Private.delegateEnabled(app, menu.findReplacers, 'find'),
    execute: Private.delegateExecute(app, menu.findReplacers, 'find')
  });
  commands.addCommand(CommandIDs.findAndReplace, {
    label: 'Find and Replace…',
    isEnabled: Private.delegateEnabled(
      app,
      menu.findReplacers,
      'findAndReplace'
    ),
    execute: Private.delegateExecute(app, menu.findReplacers, 'findAndReplace')
  });
  menu.addGroup(
    [{ command: CommandIDs.find }, { command: CommandIDs.findAndReplace }],
    200
  );
  commands.addCommand(CommandIDs.goToLine, {
    label: 'Go to Line…',
    isEnabled: Private.delegateEnabled(app, menu.goToLiners, 'goToLine'),
    execute: Private.delegateExecute(app, menu.goToLiners, 'goToLine')
  });
  menu.addGroup([{ command: CommandIDs.goToLine }], 200);
}
开发者ID:SylvainCorlay,项目名称:jupyterlab,代码行数:73,代码来源:index.ts

示例3: afterEach

 afterEach(() => {
   menu.dispose();
   tracker.dispose();
   wodget.dispose();
 });
开发者ID:willingc,项目名称:jupyterlab,代码行数:5,代码来源:edit.spec.ts


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