enso/app/gui2/e2e/rightDock.spec.ts
Kaz Wesley 4af33f077b
Documentation editor (#9910)
#### New documentation panel:
- Shows documentation of currently-entered method.
- Open/close with Ctrl+D or the extended menu.
- Renders markdown; supports WYSIWYG editing.
- Formatting can be added by typing the same markdown special characters that will appear in the source code, e.g.:
- `# Heading`
- `## Subheading`
- `*emphasis*`
- Panel left edge can be dragged to resize similarly to visualization container.

https://github.com/enso-org/enso/assets/1047859/6feb5d23-1525-48f7-933e-c9371312decf

#### Node comments are now markdown:
![image](https://github.com/enso-org/enso/assets/1047859/c5df13fe-0290-4f1d-abb2-b2f42df274d3)

#### Top bar extended menu improvements:
- Now closes after any menu action except +/- buttons, and on defocus/Esc.
- Editor/doc-panel buttons now colored to indicate whether editor/panel is open.

https://github.com/enso-org/enso/assets/1047859/345af322-c1a8-4717-8ffc-a5c919494fed

Closes #9786.

# Important Notes
New APIs:
- `DocumentationEditor` component: Lazily-loads and instantiates the implementation component (`MilkdownEditor`).
- `AstDocumentation` component: Connects a `DocumentationEditor` to the documentation of an `Ast` node.
- `ResizeHandles` component: Supports reuse of the resize handles used by the visualization container.
- `graphStore.undoManager`: Facade for the Y.UndoManager in the project store.
2024-05-10 17:23:16 +00:00

20 lines
728 B
TypeScript

import { expect, test } from 'playwright/test'
import * as actions from './actions'
import { CONTROL_KEY } from './keyboard'
test('Main method documentation', async ({ page }) => {
await actions.goToGraph(page)
// Documentation panel hotkey opens right-dock.
await expect(page.getByTestId('rightDock')).not.toBeVisible()
await page.keyboard.press(`${CONTROL_KEY}+D`)
await expect(page.getByTestId('rightDock')).toBeVisible()
// Right-dock displays main method documentation.
await expect(page.getByTestId('rightDock')).toHaveText('The main method')
// Documentation hotkey closes right-dock.p
await page.keyboard.press(`${CONTROL_KEY}+D`)
await expect(page.getByTestId('rightDock')).not.toBeVisible()
})