本文整理汇总了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;
}
示例2: updateSettings
async function updateSettings() {
interactionMode = (await settingRegistry.get(pluginId, 'interactionMode'))
.composite as string;
tracker.forEach(panel => {
panel.console.node.dataset.jpInteractionMode = interactionMode;
});
}
示例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;
}
示例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;
});
},
示例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());
}
示例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 });
//.........这里部分代码省略.........