blob: ca1a9147520bf6ede7b2bb20f4f3fb137101605c [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import * as Common from '../common/common.js';
import * as Root from '../root/root.js';
import * as SDK from '../sdk/sdk.js';
import * as UI from '../ui/ui.js';
import * as Workspace from '../workspace/workspace.js';
import * as Components from '../components/components.js';
// eslint-disable-next-line rulesdir/es_modules_import
import type * as Main from './main.js';
import type * as InspectorMain from '../inspector_main/inspector_main.js';
import * as i18n from '../i18n/i18n.js';
const UIStrings = {
/**
*@description Text in Main
*/
focusDebuggee: 'Focus debuggee',
/**
*@description Text in the Shortcuts page in settings to explain a keyboard shortcut
*/
toggleDrawer: 'Toggle drawer',
/**
*@description Title of an action that navigates to the next panel
*/
nextPanel: 'Next panel',
/**
*@description Title of an action that navigates to the previous panel
*/
previousPanel: 'Previous panel',
/**
*@description Title of an action that reloads the DevTools
*/
reloadDevtools: 'Reload DevTools',
/**
*@description Title of an action in the main tool to toggle dock
*/
restoreLastDockPosition: 'Restore last dock position',
/**
*@description Text in the Shortcuts page to explain a keyboard shortcut (zoom in)
*/
zoomIn: 'Zoom in',
/**
*@description Text in the Shortcuts page to explain a keyboard shortcut (zoom out)
*/
zoomOut: 'Zoom out',
/**
*@description Title of an action that reset the zoom level to its default
*/
resetZoomLevel: 'Reset zoom level',
/**
*@description Title of an action to search in panel
*/
searchInPanel: 'Search in panel',
/**
*@description Title of an action that cancels the current search
*/
cancelSearch: 'Cancel search',
/**
*@description Title of an action that finds the next search result
*/
findNextResult: 'Find next result',
/**
*@description Title of an action to find the previous search result
*/
findPreviousResult: 'Find previous result',
/**
*@description Title of a setting under the Appearance category in Settings
*/
theme: 'Theme:',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
switchToSystemPreferredColor: 'Switch to system preferred color theme',
/**
*@description A drop-down menu option to switch to system preferred color theme
*/
systemPreference: 'System preference',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
switchToLightTheme: 'Switch to light theme',
/**
*@description A drop-down menu option to switch to light theme
*/
lightCapital: 'Light',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
switchToDarkTheme: 'Switch to dark theme',
/**
*@description A drop-down menu option to switch to dark theme
*/
darkCapital: 'Dark',
/**
*@description A tag of theme preference settings that can be searched in the command menu
*/
darkLower: 'dark',
/**
*@description A tag of theme preference settings that can be searched in the command menu
*/
lightLower: 'light',
/**
*@description Title of a setting under the Appearance category in Settings
*/
panelLayout: 'Panel layout:',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
useHorizontalPanelLayout: 'Use horizontal panel layout',
/**
*@description A drop-down menu option to use horizontal panel layout
*/
horizontal: 'horizontal',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
useVerticalPanelLayout: 'Use vertical panel layout',
/**
*@description A drop-down menu option to use vertical panel layout
*/
vertical: 'vertical',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
useAutomaticPanelLayout: 'Use automatic panel layout',
/**
*@description Text short for automatic
*/
auto: 'auto',
/**
*@description Title of a setting under the Appearance category in Settings
*/
colorFormat: 'Color format:',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
setColorFormatAsAuthored: 'Set color format as authored',
/**
*@description A drop-down menu option to set color format as authored
*/
asAuthored: 'As authored',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
setColorFormatToHex: 'Set color format to HEX',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
setColorFormatToRgb: 'Set color format to RGB',
/**
*@description Title of a setting under the Appearance category that can be invoked through the Command Menu
*/
setColorFormatToHsl: 'Set color format to HSL',
/**
*@description Title of a setting under the Appearance category in Settings
*/
enableCtrlShortcutToSwitchPanels: 'Enable Ctrl + 1-9 shortcut to switch panels',
/**
*@description (Mac only) Title of a setting under the Appearance category in Settings
*/
enableShortcutToSwitchPanels: 'Enable ⌘ + 1-9 shortcut to switch panels',
/**
*@description A drop-down menu option to dock to right
*/
right: 'Right',
/**
*@description Text to dock the DevTools to the right of the browser tab
*/
dockToRight: 'Dock to right',
/**
*@description A drop-down menu option to dock to bottom
*/
bottom: 'Bottom',
/**
*@description Text to dock the DevTools to the bottom of the browser tab
*/
dockToBottom: 'Dock to bottom',
/**
*@description A drop-down menu option to dock to left
*/
left: 'Left',
/**
*@description Text to dock the DevTools to the left of the browser tab
*/
dockToLeft: 'Dock to left',
/**
*@description A drop-down menu option to undock into separate window
*/
undocked: 'Undocked',
/**
*@description Text to undock the DevTools
*/
undockIntoSeparateWindow: 'Undock into separate window',
/**
*@description Name of the default set of DevTools keyboard shortcuts
*/
devtoolsDefault: 'DevTools (Default)',
/**
*@description Name of a set of keyboard shortcuts from Visual Studio Code
*/
visualStudioCode: 'Visual Studio Code',
};
const str_ = i18n.i18n.registerUIStrings('main/main-meta.ts', UIStrings);
const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
let loadedMainModule: (typeof Main|undefined);
let loadedInspectorMainModule: (typeof InspectorMain|undefined);
async function loadMainModule(): Promise<typeof Main> {
if (!loadedMainModule) {
// Side-effect import resources in module.json
await Root.Runtime.Runtime.instance().loadModulePromise('main');
loadedMainModule = await import('./main.js');
}
return loadedMainModule;
}
// We load the `inspector_main` module for the action `inspector_main.focus-debuggee`
// which depends on it. It cannot be registered in `inspector_main-meta` as the action
// belongs to the shell app (the module `main` belongs to the`shell` app while
// `inspector_main` belongs to the `devtools_app`).
async function loadInspectorMainModule(): Promise<typeof InspectorMain> {
if (!loadedInspectorMainModule) {
// Side-effect import resources in module.json
await Root.Runtime.Runtime.instance().loadModulePromise('inspector_main');
loadedInspectorMainModule = await import('../inspector_main/inspector_main.js');
}
return loadedInspectorMainModule;
}
UI.ActionRegistration.registerActionExtension({
category: UI.ActionRegistration.ActionCategory.DRAWER,
actionId: 'inspector_main.focus-debuggee',
async loadActionDelegate() {
const InspectorMain = await loadInspectorMainModule();
return InspectorMain.InspectorMain.FocusDebuggeeActionDelegate.instance();
},
order: 100,
title: i18nLazyString(UIStrings.focusDebuggee),
});
UI.ActionRegistration.registerActionExtension({
category: UI.ActionRegistration.ActionCategory.DRAWER,
actionId: 'main.toggle-drawer',
async loadActionDelegate() {
return UI.InspectorView.ActionDelegate.instance();
},
order: 101,
title: i18nLazyString(UIStrings.toggleDrawer),
bindings: [
{
shortcut: 'Esc',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.next-tab',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.nextPanel),
async loadActionDelegate() {
return UI.InspectorView.ActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+]',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+]',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.previous-tab',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.previousPanel),
async loadActionDelegate() {
return UI.InspectorView.ActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+[',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+[',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.debug-reload',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.reloadDevtools),
async loadActionDelegate() {
const Main = await loadMainModule();
return Main.MainImpl.ReloadActionDelegate.instance();
},
bindings: [
{
shortcut: 'Alt+R',
},
],
});
UI.ActionRegistration.registerActionExtension({
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.restoreLastDockPosition),
actionId: 'main.toggle-dock',
async loadActionDelegate() {
return UI.DockController.ToggleDockActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Shift+D',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Shift+D',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.zoom-in',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.zoomIn),
async loadActionDelegate() {
const Main = await loadMainModule();
return Main.MainImpl.ZoomActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Plus',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Shift+Plus',
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+NumpadPlus',
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Shift+NumpadPlus',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Plus',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Shift+Plus',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+NumpadPlus',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Shift+NumpadPlus',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.zoom-out',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.zoomOut),
async loadActionDelegate() {
const Main = await loadMainModule();
return Main.MainImpl.ZoomActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Minus',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Shift+Minus',
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+NumpadMinus',
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Shift+NumpadMinus',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Minus',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Shift+Minus',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+NumpadMinus',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Shift+NumpadMinus',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.zoom-reset',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.resetZoomLevel),
async loadActionDelegate() {
const Main = await loadMainModule();
return Main.MainImpl.ZoomActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+0',
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Numpad0',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Numpad0',
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+0',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.search-in-panel.find',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.searchInPanel),
async loadActionDelegate() {
const Main = await loadMainModule();
return Main.MainImpl.SearchActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+F',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+F',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'F3',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.search-in-panel.cancel',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.cancelSearch),
async loadActionDelegate() {
const Main = await loadMainModule();
return Main.MainImpl.SearchActionDelegate.instance();
},
order: 10,
bindings: [
{
shortcut: 'Esc',
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.search-in-panel.find-next',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.findNextResult),
async loadActionDelegate() {
const Main = await loadMainModule();
return Main.MainImpl.SearchActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+G',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+G',
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'F3',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
],
});
UI.ActionRegistration.registerActionExtension({
actionId: 'main.search-in-panel.find-previous',
category: UI.ActionRegistration.ActionCategory.GLOBAL,
title: i18nLazyString(UIStrings.findPreviousResult),
async loadActionDelegate() {
const Main = await loadMainModule();
return Main.MainImpl.SearchActionDelegate.instance();
},
bindings: [
{
platform: UI.ActionRegistration.Platforms.Mac,
shortcut: 'Meta+Shift+G',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Ctrl+Shift+G',
},
{
platform: UI.ActionRegistration.Platforms.WindowsLinux,
shortcut: 'Shift+F3',
keybindSets: [
UI.ActionRegistration.KeybindSet.DEVTOOLS_DEFAULT,
UI.ActionRegistration.KeybindSet.VS_CODE,
],
},
],
});
Common.Settings.registerSettingExtension({
category: Common.Settings.SettingCategory.APPEARANCE,
title: i18nLazyString(UIStrings.theme),
settingName: 'uiTheme',
settingType: Common.Settings.SettingType.ENUM,
defaultValue: 'systemPreferred',
reloadRequired: true,
options: [
{
title: i18nLazyString(UIStrings.switchToSystemPreferredColor),
text: i18nLazyString(UIStrings.systemPreference),
value: 'systemPreferred',
},
{
title: i18nLazyString(UIStrings.switchToLightTheme),
text: i18nLazyString(UIStrings.lightCapital),
value: 'default',
},
{
title: i18nLazyString(UIStrings.switchToDarkTheme),
text: i18nLazyString(UIStrings.darkCapital),
value: 'dark',
},
],
tags: [
i18nLazyString(UIStrings.darkLower),
i18nLazyString(UIStrings.lightLower),
],
});
Common.Settings.registerSettingExtension({
category: Common.Settings.SettingCategory.APPEARANCE,
title: i18nLazyString(UIStrings.panelLayout),
settingName: 'sidebarPosition',
settingType: Common.Settings.SettingType.ENUM,
defaultValue: 'auto',
options: [
{
title: i18nLazyString(UIStrings.useHorizontalPanelLayout),
text: i18nLazyString(UIStrings.horizontal),
value: 'bottom',
},
{
title: i18nLazyString(UIStrings.useVerticalPanelLayout),
text: i18nLazyString(UIStrings.vertical),
value: 'right',
},
{
title: i18nLazyString(UIStrings.useAutomaticPanelLayout),
text: i18nLazyString(UIStrings.auto),
value: 'auto',
},
],
});
Common.Settings.registerSettingExtension({
category: Common.Settings.SettingCategory.APPEARANCE,
title: i18nLazyString(UIStrings.colorFormat),
settingName: 'colorFormat',
settingType: Common.Settings.SettingType.ENUM,
defaultValue: 'original',
options: [
{
title: i18nLazyString(UIStrings.setColorFormatAsAuthored),
text: i18nLazyString(UIStrings.asAuthored),
value: 'original',
},
{
title: i18nLazyString(UIStrings.setColorFormatToHex),
text: 'HEX: #dac0de',
value: 'hex',
raw: true,
},
{
title: i18nLazyString(UIStrings.setColorFormatToRgb),
text: 'RGB: rgb(128 255 255)',
value: 'rgb',
raw: true,
},
{
title: i18nLazyString(UIStrings.setColorFormatToHsl),
text: 'HSL: hsl(300deg 80% 90%)',
value: 'hsl',
raw: true,
},
],
});
Common.Settings.registerSettingExtension({
category: Common.Settings.SettingCategory.APPEARANCE,
title: i18nLazyString(UIStrings.enableCtrlShortcutToSwitchPanels),
titleMac: i18nLazyString(UIStrings.enableShortcutToSwitchPanels),
settingName: 'shortcutPanelSwitch',
settingType: Common.Settings.SettingType.BOOLEAN,
defaultValue: false,
});
Common.Settings.registerSettingExtension({
category: Common.Settings.SettingCategory.GLOBAL,
settingName: 'currentDockState',
settingType: Common.Settings.SettingType.ENUM,
defaultValue: 'right',
options: [
{
value: 'right',
text: i18nLazyString(UIStrings.right),
title: i18nLazyString(UIStrings.dockToRight),
},
{
value: 'bottom',
text: i18nLazyString(UIStrings.bottom),
title: i18nLazyString(UIStrings.dockToBottom),
},
{
value: 'left',
text: i18nLazyString(UIStrings.left),
title: i18nLazyString(UIStrings.dockToLeft),
},
{
value: 'undocked',
text: i18nLazyString(UIStrings.undocked),
title: i18nLazyString(UIStrings.undockIntoSeparateWindow),
},
],
});
Common.Settings.registerSettingExtension({
settingName: 'activeKeybindSet',
settingType: Common.Settings.SettingType.ENUM,
defaultValue: 'devToolsDefault',
options: [
{
value: 'devToolsDefault',
title: i18nLazyString(UIStrings.devtoolsDefault),
text: i18nLazyString(UIStrings.devtoolsDefault),
},
{
value: 'vsCode',
title: i18nLazyString(UIStrings.visualStudioCode),
text: i18nLazyString(UIStrings.visualStudioCode),
},
],
});
Common.Settings.registerSettingExtension({
settingName: 'userShortcuts',
settingType: Common.Settings.SettingType.ARRAY,
defaultValue: [],
});
UI.ViewManager.registerLocationResolver({
name: UI.ViewManager.ViewLocationValues.DRAWER_VIEW,
category: UI.ViewManager.ViewLocationCategoryValues.DRAWER,
async loadResolver() {
return UI.InspectorView.InspectorView.instance();
},
});
UI.ViewManager.registerLocationResolver({
name: UI.ViewManager.ViewLocationValues.DRAWER_SIDEBAR,
category: UI.ViewManager.ViewLocationCategoryValues.DRAWER_SIDEBAR,
async loadResolver() {
return UI.InspectorView.InspectorView.instance();
},
});
UI.ViewManager.registerLocationResolver({
name: UI.ViewManager.ViewLocationValues.PANEL,
category: UI.ViewManager.ViewLocationCategoryValues.PANEL,
async loadResolver() {
return UI.InspectorView.InspectorView.instance();
},
});
UI.ContextMenu.registerProvider({
contextTypes() {
return [
Workspace.UISourceCode.UISourceCode,
SDK.Resource.Resource,
SDK.NetworkRequest.NetworkRequest,
];
},
async loadProvider() {
return Components.Linkifier.ContentProviderContextMenuProvider.instance();
},
experiment: undefined,
});
UI.ContextMenu.registerProvider({
contextTypes() {
return [
Node,
];
},
async loadProvider() {
return UI.XLink.ContextMenuProvider.instance();
},
experiment: undefined,
});
UI.ContextMenu.registerProvider({
contextTypes() {
return [
Node,
];
},
async loadProvider() {
return Components.Linkifier.LinkContextMenuProvider.instance();
},
experiment: undefined,
});
UI.Toolbar.registerToolbarItem({
separator: true,
location: UI.Toolbar.ToolbarItemLocation.MAIN_TOOLBAR_LEFT,
order: 100,
showLabel: undefined,
actionId: undefined,
condition: undefined,
loadItem: undefined,
});
UI.Toolbar.registerToolbarItem({
separator: true,
order: 97,
location: UI.Toolbar.ToolbarItemLocation.MAIN_TOOLBAR_RIGHT,
showLabel: undefined,
actionId: undefined,
condition: undefined,
loadItem: undefined,
});
UI.Toolbar.registerToolbarItem({
async loadItem() {
const Main = await loadMainModule();
return Main.MainImpl.SettingsButtonProvider.instance();
},
order: 98,
location: UI.Toolbar.ToolbarItemLocation.MAIN_TOOLBAR_RIGHT,
showLabel: undefined,
condition: undefined,
separator: undefined,
actionId: undefined,
});
UI.Toolbar.registerToolbarItem({
async loadItem() {
const Main = await loadMainModule();
return Main.MainImpl.MainMenuItem.instance();
},
order: 99,
location: UI.Toolbar.ToolbarItemLocation.MAIN_TOOLBAR_RIGHT,
showLabel: undefined,
condition: undefined,
separator: undefined,
actionId: undefined,
});
UI.Toolbar.registerToolbarItem({
async loadItem() {
return UI.DockController.CloseButtonProvider.instance();
},
order: 100,
location: UI.Toolbar.ToolbarItemLocation.MAIN_TOOLBAR_RIGHT,
showLabel: undefined,
condition: undefined,
separator: undefined,
actionId: undefined,
});
Common.AppProvider.registerAppProvider({
async loadAppProvider() {
const Main = await loadMainModule();
return Main.SimpleApp.SimpleAppProvider.instance();
},
order: 10,
condition: undefined,
});