Как изменить макет по умолчанию класса NotebookPanel как расширение? - PullRequest
0 голосов
/ 18 июня 2019

В настоящее время я создал класс CustomNotebookPanel, который расширяет NotebookPanel и меняет макет по умолчанию на StackedPanel. Я хотел бы, чтобы Jupyterlab использовал этот класс вместо класса Notebook по умолчанию.

Я пытался создать расширение, используя этот класс, но оно не работает.

Класс CustomNotebookPanel:

  constructor(options: DocumentWidget.IOptions<Notebook, INotebookModel>) {
    super(options);
    super.layout = new StackedLayout();
  }
}

Расширение с использованием CustomNotebookPanel:

export
class SearchExtension implements DocumentRegistry.IWidgetExtension<CustomNotebookPanel, INotebookModel> {
  createNew(panel: CustomNotebookPanel, context: DocumentRegistry.IContext<INotebookModel>) : IDisposable {
    let commands = new CommandRegistry();
    let palette = new CommandPalette({ commands: commands });
    let stackedLayout = panel.layout as StackedLayout;
    stackedLayout.addWidget(palette);
    SetupCommands(commands, palette, panel);
    return new DisposableDelegate(() => {
      palette.dispose();
    });
  }
}
function activate(app: JupyterLab) {
  app.docRegistry.addWidgetExtension('Notebook', new SearchExtension());
};
export default extension;

После успешной установки этого расширения и открытия Блокнота в JupyterLab я не вижу NotebookPanel вместе с CommandPalette.

...