feat(workbench): group live presentation steps into expandable categories
Group adjacent live display steps into category menus with merged snapshots, original-step submenus and scoped playback. The submenu exposes the latest raw step, so explicit selections must remain pinned. Locate failed and cancelled steps using the full group sequence, and prevent an exiting menu from dismissing a trigger-owned reopen. Regression tests reproduce these paths before the fixes. Validation: lint, typecheck, 1178 unit tests and 10 focused browser cases passed; update the presentation history guide.
This commit is contained in:
@@ -130,7 +130,7 @@ export async function mockInvestigationPresentation(page: Page, tasks: Operation
|
||||
};
|
||||
}
|
||||
|
||||
export async function selectInvestigation(page: Page, title: string) {
|
||||
export async function selectInvestigation(page: Page, title: string, input: "pointer" | "keyboard" = "pointer") {
|
||||
await page.goto("/", { waitUntil: "domcontentloaded" });
|
||||
await page.getByRole("button", { name: /^(?:打开)?工况任务$/ }).click();
|
||||
const panel = page.getByRole("region", { name: "工况任务", exact: true });
|
||||
@@ -142,7 +142,8 @@ export async function selectInvestigation(page: Page, title: string) {
|
||||
const collapse = panel.getByRole("button", { name: "收起工况任务", exact: true });
|
||||
if (await collapse.isVisible()) await collapse.click();
|
||||
}
|
||||
await task.click();
|
||||
if (input === "keyboard") await task.press("Enter");
|
||||
else await task.click();
|
||||
}
|
||||
|
||||
export async function showInvestigationMap(page: Page) {
|
||||
|
||||
Reference in New Issue
Block a user