chrome-devtools-frontend 1.0.1539728 → 1.0.1541169
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/eslint.config.mjs +167 -151
- package/front_end/core/common/Debouncer.ts +2 -2
- package/front_end/core/common/Gzip.ts +1 -1
- package/front_end/core/common/Revealer.ts +5 -0
- package/front_end/core/common/Throttler.ts +3 -3
- package/front_end/core/host/GdpClient.ts +4 -0
- package/front_end/core/host/InspectorFrontendHost.ts +10 -10
- package/front_end/core/protocol_client/DevToolsCDPConnection.ts +181 -0
- package/front_end/core/protocol_client/InspectorBackend.ts +36 -203
- package/front_end/core/protocol_client/protocol_client.ts +2 -2
- package/front_end/core/sdk/DebuggerModel.ts +3 -16
- package/front_end/core/sdk/NetworkManager.ts +16 -11
- package/front_end/core/sdk/RemoteObject.ts +4 -0
- package/front_end/core/sdk/Target.ts +3 -6
- package/front_end/core/sdk/TargetManager.ts +1 -2
- package/front_end/core/sdk/sdk-meta.ts +0 -35
- package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +1 -3
- package/front_end/entrypoints/node_app/app/NodeMain.ts +3 -2
- package/front_end/entrypoints/shell/shell.ts +1 -0
- package/front_end/entrypoints/trace_app/trace_app.ts +1 -0
- package/front_end/generated/Deprecation.ts +8 -0
- package/front_end/generated/InspectorBackendCommands.ts +8 -5
- package/front_end/generated/SupportedCSSProperties.js +58 -4
- package/front_end/generated/protocol.ts +60 -4
- package/front_end/models/ai_assistance/EvaluateAction.ts +88 -5
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +121 -56
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +104 -62
- package/front_end/models/ai_assistance/injected.ts +15 -2
- package/front_end/models/ai_assistance/performance/AIQueries.ts +56 -2
- package/front_end/{panels/issues → models/issues_manager}/IssueAggregator.ts +83 -65
- package/front_end/models/issues_manager/issues_manager.ts +2 -0
- package/front_end/models/live-metrics/web-vitals-injected/README.md +1 -1
- package/front_end/models/trace/Processor.ts +5 -4
- package/front_end/models/trace/Styles.ts +1 -1
- package/front_end/models/trace/insights/types.ts +1 -1
- package/front_end/models/trace/types/TraceEvents.ts +1 -1
- package/front_end/models/workspace/IgnoreListManager.ts +41 -47
- package/front_end/models/workspace/workspace-meta.ts +40 -0
- package/front_end/panels/ai_assistance/PatchWidget.ts +22 -12
- package/front_end/panels/ai_assistance/components/ChatView.ts +1 -1
- package/front_end/panels/animation/AnimationTimeline.ts +4 -4
- package/front_end/panels/animation/AnimationUI.ts +28 -34
- package/front_end/panels/common/AiCodeCompletionDisclaimer.ts +4 -4
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +2 -2
- package/front_end/panels/elements/ElementsTreeElement.ts +37 -9
- package/front_end/panels/elements/LayoutPane.ts +2 -2
- package/front_end/panels/elements/PropertiesWidget.ts +3 -2
- package/front_end/panels/elements/components/AdornerManager.ts +9 -9
- package/front_end/panels/elements/layoutPane.css +5 -9
- package/front_end/panels/event_listeners/EventListenersView.ts +10 -6
- package/front_end/panels/explain/components/ConsoleInsight.ts +498 -449
- package/front_end/panels/issues/AffectedResourcesView.ts +3 -4
- package/front_end/panels/issues/CorsIssueDetailsView.ts +1 -2
- package/front_end/panels/issues/IssueView.ts +1 -1
- package/front_end/panels/issues/IssuesPane.ts +12 -15
- package/front_end/panels/issues/issues.ts +0 -2
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +3 -3
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +2 -2
- package/front_end/panels/network/NetworkDataGridNode.ts +2 -1
- package/front_end/panels/network/RequestConditionsDrawer.ts +149 -46
- package/front_end/panels/network/RequestPayloadView.ts +2 -1
- package/front_end/panels/network/RequestTimingView.ts +17 -10
- package/front_end/panels/network/components/RequestHeadersView.ts +24 -17
- package/front_end/panels/network/network-meta.ts +11 -0
- package/front_end/panels/protocol_monitor/JSONEditor.ts +2 -2
- package/front_end/panels/recorder/RecorderController.ts +6 -7
- package/front_end/panels/recorder/models/RecordingPlayer.ts +3 -3
- package/front_end/panels/settings/components/SyncSection.ts +1 -1
- package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -1
- package/front_end/panels/sources/BreakpointsView.ts +3 -3
- package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +4 -3
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +4 -3
- package/front_end/panels/sources/breakpointsView.css +1 -1
- package/front_end/panels/sources/sourcesPanel.css +2 -2
- package/front_end/panels/timeline/TimelineFlameChartView.ts +3 -3
- package/front_end/panels/timeline/TimelinePanel.ts +3 -3
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +9 -5
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +16 -10
- package/front_end/panels/timeline/components/LiveMetricsView.ts +20 -9
- package/front_end/panels/timeline/components/MetricCard.ts +4 -2
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +2 -0
- package/front_end/services/puppeteer/PuppeteerConnection.ts +2 -1
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +21 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js +5 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +29 -27
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +61 -26
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +21 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js +5 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +30 -28
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/package.json +1 -1
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +6 -0
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +32 -0
- package/front_end/third_party/puppeteer/package/src/cdp/ExtensionTransport.ts +5 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +8 -0
- package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +36 -43
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/dialogs/ButtonDialog.ts +15 -5
- package/front_end/ui/components/expandable_list/ExpandableList.ts +1 -1
- package/front_end/ui/components/helpers/helpers.ts +0 -2
- package/front_end/ui/components/markdown_view/MarkdownView.ts +1 -0
- package/front_end/ui/components/menus/Menu.ts +5 -3
- package/front_end/ui/components/snackbars/Snackbars.docs.ts +46 -0
- package/front_end/ui/components/survey_link/SurveyLink.docs.ts +22 -0
- package/front_end/ui/components/tree_outline/TreeOutline.ts +1 -2
- package/front_end/ui/{components/docs/context_menu/basic.ts → legacy/ContextMenu.docs.ts} +58 -25
- package/front_end/ui/legacy/SelectMenu.docs.ts +14 -0
- package/front_end/ui/legacy/UIUtils.ts +2 -1
- package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +558 -439
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +3 -3
- package/front_end/ui/legacy/components/perf_ui/pieChart.css +1 -1
- package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -1
- package/front_end/ui/legacy/inspectorCommon.css +3 -2
- package/mcp/mcp.ts +15 -1
- package/package.json +2 -1
- package/front_end/core/protocol_client/NodeURL.ts +0 -40
- package/front_end/ui/components/docs/combo_box/basic.html +0 -20
- package/front_end/ui/components/docs/combo_box/basic.ts +0 -49
- package/front_end/ui/components/docs/context_menu/basic.html +0 -45
- package/front_end/ui/components/docs/legacy_color_invert/basic.html +0 -77
- package/front_end/ui/components/docs/legacy_color_invert/basic.ts +0 -98
- package/front_end/ui/components/docs/linkifier/simple-url.html +0 -25
- package/front_end/ui/components/docs/linkifier/simple-url.ts +0 -25
- package/front_end/ui/components/docs/panel_feedback/basic.html +0 -25
- package/front_end/ui/components/docs/panel_feedback/basic.ts +0 -21
- package/front_end/ui/components/docs/panel_feedback/button.html +0 -25
- package/front_end/ui/components/docs/panel_feedback/button.ts +0 -19
- package/front_end/ui/components/docs/panel_introduction_steps/basic.html +0 -25
- package/front_end/ui/components/docs/panel_introduction_steps/basic.ts +0 -28
- package/front_end/ui/components/docs/perf_piechart/basic-with-legend.html +0 -20
- package/front_end/ui/components/docs/perf_piechart/basic-with-legend.ts +0 -20
- package/front_end/ui/components/docs/perf_piechart/basic-without-legend.html +0 -20
- package/front_end/ui/components/docs/perf_piechart/basic-without-legend.ts +0 -18
- package/front_end/ui/components/docs/snackbars/basic.html +0 -17
- package/front_end/ui/components/docs/snackbars/basic.ts +0 -50
- package/front_end/ui/components/docs/survey_link/basic.html +0 -20
- package/front_end/ui/components/docs/survey_link/basic.ts +0 -28
- package/front_end/ui/components/docs/tree_outline/basic.html +0 -33
- package/front_end/ui/components/docs/tree_outline/basic.ts +0 -38
- package/front_end/ui/components/docs/tree_outline/custom-renderers.html +0 -32
- package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +0 -61
- package/front_end/ui/components/docs/tree_outline/lazy-children.html +0 -32
- package/front_end/ui/components/docs/tree_outline/lazy-children.ts +0 -91
- package/front_end/ui/components/docs/tree_outline/sample-data.ts +0 -67
- package/front_end/ui/components/helpers/directives.ts +0 -38
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright 2020 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as Common from '../../../core/common/common.js';
|
|
6
|
+
import {SurveyLink} from '../survey_link/survey_link.js';
|
|
7
|
+
|
|
8
|
+
export function render(container: HTMLElement): void {
|
|
9
|
+
const link = new SurveyLink.SurveyLink();
|
|
10
|
+
container.appendChild(link);
|
|
11
|
+
|
|
12
|
+
link.data = {
|
|
13
|
+
trigger: 'test trigger',
|
|
14
|
+
promptText: Common.UIString.LocalizedEmptyString,
|
|
15
|
+
canShowSurvey: (_trigger, callback) => {
|
|
16
|
+
setTimeout(callback.bind(undefined, {canShowSurvey: true}), 500);
|
|
17
|
+
},
|
|
18
|
+
showSurvey: (_trigger, callback) => {
|
|
19
|
+
setTimeout(callback.bind(undefined, {surveyShown: true}), 1500);
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -9,7 +9,6 @@ import * as Lit from '../../lit/lit.js';
|
|
|
9
9
|
import * as VisualLogging from '../../visual_logging/visual_logging.js';
|
|
10
10
|
import * as Buttons from '../buttons/buttons.js';
|
|
11
11
|
import * as CodeHighlighter from '../code_highlighter/code_highlighter.js';
|
|
12
|
-
import * as ComponentHelpers from '../helpers/helpers.js';
|
|
13
12
|
import * as RenderCoordinator from '../render_coordinator/render_coordinator.js';
|
|
14
13
|
|
|
15
14
|
import treeOutlineStyles from './treeOutline.css.js';
|
|
@@ -479,7 +478,7 @@ export class TreeOutline<TreeNodeDataType> extends HTMLElement {
|
|
|
479
478
|
jslog=${VisualLogging.treeItem(node.jslogContext).track({click: true, keydown: 'ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Enter|Space|Home|End'})}
|
|
480
479
|
@click=${this.#onNodeClick}
|
|
481
480
|
track-dom-node-to-tree-node=${trackDOMNodeToTreeNode(this.#domNodeToTreeNodeMap, node)}
|
|
482
|
-
|
|
481
|
+
${Lit.Directives.ref(domNode => {
|
|
483
482
|
/**
|
|
484
483
|
* Because TreeNodes are lazily rendered, you can call
|
|
485
484
|
* `outline.expandToAndSelect(NodeX)`, but `NodeX` will be rendered at some
|
|
@@ -2,23 +2,44 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
import * as ComponentHelpers from '../../helpers/helpers.js';
|
|
5
|
+
import * as Lit from '../lit/lit.js';
|
|
6
|
+
|
|
7
|
+
import {ContextMenu} from './legacy.js';
|
|
9
8
|
|
|
10
9
|
const {html} = Lit;
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
export async function render(container: HTMLElement) {
|
|
12
|
+
const style = document.createElement('style');
|
|
13
|
+
style.textContent = `
|
|
14
|
+
#container > div {
|
|
15
|
+
width: var(--sys-size-34);
|
|
16
|
+
padding: var(--sys-size-11);
|
|
17
|
+
display: flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
flex-wrap: wrap;
|
|
20
|
+
gap: var(--sys-size-5);
|
|
21
|
+
background-color: var(--sys-color-neutral-container);
|
|
22
|
+
border-radius: var(--sys-shape-corner-medium);
|
|
23
|
+
text-align: center;
|
|
24
|
+
|
|
25
|
+
p {
|
|
26
|
+
vertical-align: middle;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
container.appendChild(style);
|
|
31
|
+
|
|
32
|
+
const menuButtonSection = document.createElement('div');
|
|
33
|
+
const menuButtonHeader = document.createElement('header');
|
|
34
|
+
menuButtonHeader.textContent = 'DevTools menu button (lit-html)';
|
|
35
|
+
container.appendChild(menuButtonHeader);
|
|
36
|
+
container.appendChild(menuButtonSection);
|
|
14
37
|
|
|
15
|
-
{
|
|
16
|
-
const menuButtonSection = document.querySelector('#menu-button') as HTMLElement;
|
|
17
38
|
Lit.render(
|
|
18
39
|
html`
|
|
19
40
|
<devtools-menu-button
|
|
20
41
|
icon-name="bin"
|
|
21
|
-
.populateMenuCall=${(menu:
|
|
42
|
+
.populateMenuCall=${(menu: ContextMenu.ContextMenu) => {
|
|
22
43
|
menu.defaultSection().appendItem('Item', () => {
|
|
23
44
|
alert('Item clicked');
|
|
24
45
|
}, {jslogContext: 'item'});
|
|
@@ -27,15 +48,19 @@ await FrontendHelpers.initializeGlobalVars();
|
|
|
27
48
|
></devtools-menu-button>
|
|
28
49
|
`,
|
|
29
50
|
menuButtonSection);
|
|
30
|
-
}
|
|
31
51
|
|
|
32
|
-
|
|
52
|
+
const simpleItemsSection = document.createElement('div');
|
|
53
|
+
simpleItemsSection.innerHTML = '<p>Right-click here</p>';
|
|
54
|
+
const simpleItemsHeader = document.createElement('header');
|
|
55
|
+
simpleItemsHeader.textContent = 'Various simple menu items (imperative API)';
|
|
56
|
+
container.appendChild(simpleItemsHeader);
|
|
57
|
+
container.appendChild(simpleItemsSection);
|
|
58
|
+
|
|
33
59
|
let checked = true;
|
|
34
|
-
|
|
35
|
-
simpleItemMenuSection?.addEventListener('contextmenu', onSimpleMenu.bind(this));
|
|
60
|
+
simpleItemsSection.addEventListener('contextmenu', onSimpleMenu);
|
|
36
61
|
|
|
37
62
|
function onSimpleMenu(event: Event) {
|
|
38
|
-
const simpleMenu = new
|
|
63
|
+
const simpleMenu = new ContextMenu.ContextMenu(event);
|
|
39
64
|
|
|
40
65
|
// Regular item
|
|
41
66
|
simpleMenu.defaultSection().appendItem('Regular item', () => {
|
|
@@ -63,14 +88,18 @@ await FrontendHelpers.initializeGlobalVars();
|
|
|
63
88
|
|
|
64
89
|
void simpleMenu.show();
|
|
65
90
|
}
|
|
66
|
-
}
|
|
67
91
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
92
|
+
const customSection = document.createElement('div');
|
|
93
|
+
customSection.innerHTML = '<p>Right-click here</p>';
|
|
94
|
+
const customSectionHeader = document.createElement('header');
|
|
95
|
+
customSectionHeader.textContent = 'Custom sections (imperative API)';
|
|
96
|
+
container.appendChild(customSectionHeader);
|
|
97
|
+
container.appendChild(customSection);
|
|
98
|
+
|
|
99
|
+
customSection.addEventListener('contextmenu', onCustomSectionMenu);
|
|
71
100
|
|
|
72
101
|
function onCustomSectionMenu(event: Event) {
|
|
73
|
-
const customSectionMenu = new
|
|
102
|
+
const customSectionMenu = new ContextMenu.ContextMenu(event);
|
|
74
103
|
|
|
75
104
|
// First custom section
|
|
76
105
|
const customSection = customSectionMenu.section('Custom section');
|
|
@@ -83,14 +112,18 @@ await FrontendHelpers.initializeGlobalVars();
|
|
|
83
112
|
|
|
84
113
|
void customSectionMenu.show();
|
|
85
114
|
}
|
|
86
|
-
}
|
|
87
115
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
116
|
+
const subMenuSection = document.createElement('div');
|
|
117
|
+
subMenuSection.innerHTML = '<p>Right-click here</p>';
|
|
118
|
+
const subMenuHeader = document.createElement('header');
|
|
119
|
+
subMenuHeader.textContent = 'Sub menu (imperative API)';
|
|
120
|
+
container.appendChild(subMenuHeader);
|
|
121
|
+
container.appendChild(subMenuSection);
|
|
91
122
|
|
|
92
|
-
|
|
93
|
-
|
|
123
|
+
subMenuSection.addEventListener('contextmenu', onSubMenu);
|
|
124
|
+
|
|
125
|
+
function onSubMenu(event: Event) {
|
|
126
|
+
const subMenuMenu = new ContextMenu.ContextMenu(event);
|
|
94
127
|
|
|
95
128
|
const subMenu =
|
|
96
129
|
subMenuMenu.defaultSection().appendSubMenuItem('Item to open sub menu', /* disabled */ false, 'my-sub-menu');
|
|
@@ -51,6 +51,20 @@ export async function render(container: HTMLElement) {
|
|
|
51
51
|
simpleMenuHTML);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
{
|
|
55
|
+
const disabledMenuHTML = createDivWithP('Disabled select with lit-html');
|
|
56
|
+
// clang-format off
|
|
57
|
+
Lit.render(
|
|
58
|
+
html`<select disabled aria-label="Select an option" @change=${onChange}>
|
|
59
|
+
<option hidden>Select an option</option>
|
|
60
|
+
<option jslog=${VisualLogging.item('option-1').track({
|
|
61
|
+
click: true
|
|
62
|
+
})} value="Option1">Option 1</option>
|
|
63
|
+
</select>`,
|
|
64
|
+
disabledMenuHTML);
|
|
65
|
+
// clang-format on
|
|
66
|
+
}
|
|
67
|
+
|
|
54
68
|
{
|
|
55
69
|
const groupMenuHTML = createDivWithP('Select with groups with lit-html');
|
|
56
70
|
Lit.render(
|
|
@@ -1820,7 +1820,8 @@ export const isScrolledToBottom = (element: Element): boolean => {
|
|
|
1820
1820
|
return Math.abs(element.scrollTop + element.clientHeight - element.scrollHeight) <= 2;
|
|
1821
1821
|
};
|
|
1822
1822
|
|
|
1823
|
-
export function createSVGChild
|
|
1823
|
+
export function createSVGChild<K extends keyof SVGElementTagNameMap>(
|
|
1824
|
+
element: Element, childType: K, className?: string): SVGElementTagNameMap[K] {
|
|
1824
1825
|
const child = element.ownerDocument.createElementNS('http://www.w3.org/2000/svg', childType);
|
|
1825
1826
|
if (className) {
|
|
1826
1827
|
child.setAttribute('class', className);
|
|
@@ -147,7 +147,7 @@ export class BezierEditor extends Common.ObjectWrapper.eventMixin<EventTypes, ty
|
|
|
147
147
|
return category;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
private createPresetModifyIcon(parentElement: Element, className: string, drawPath: string):
|
|
150
|
+
private createPresetModifyIcon(parentElement: Element, className: string, drawPath: string): SVGElement {
|
|
151
151
|
const icon = UI.UIUtils.createSVGChild(parentElement, 'svg', 'bezier-preset-modify ' + className);
|
|
152
152
|
icon.setAttribute('width', '20');
|
|
153
153
|
icon.setAttribute('height', '20');
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
ObjectPropertiesSection,
|
|
16
16
|
ObjectPropertiesSectionsTreeOutline,
|
|
17
17
|
ObjectPropertyTreeElement,
|
|
18
|
+
ObjectTree,
|
|
18
19
|
} from './ObjectPropertiesSection.js';
|
|
19
20
|
|
|
20
21
|
const UIStrings = {
|
|
@@ -169,7 +170,8 @@ export class CustomPreviewSection {
|
|
|
169
170
|
this.defaultBodyTreeOutline = new ObjectPropertiesSectionsTreeOutline({readOnly: true});
|
|
170
171
|
this.defaultBodyTreeOutline.setShowSelectionOnKeyboardFocus(/* show */ true, /* preventTabOrder */ false);
|
|
171
172
|
this.defaultBodyTreeOutline.element.classList.add('custom-expandable-section-default-body');
|
|
172
|
-
void ObjectPropertyTreeElement.populate(
|
|
173
|
+
void ObjectPropertyTreeElement.populate(
|
|
174
|
+
this.defaultBodyTreeOutline.rootElement(), new ObjectTree(this.object), false, false);
|
|
173
175
|
|
|
174
176
|
this.cachedContent = this.defaultBodyTreeOutline.element;
|
|
175
177
|
} else {
|