You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Toolbar buttons that invoke State Change slices. A screen toolbar accepts button <id> title "<text>" [slice <Module>.<Feature>.<Slice>] [emphasis primary|secondary|quiet] [icon <name>] beside its item entries - the Screenplay form of Scene's ToolbarButton. The slice names the command and the dialog that opens over the page, so the button needs no command of its own. slice is a dotted path or any unambiguous suffix; the title is a quoted string or a $strings.<key> token. See Toolbar buttons.
Diagnostics PLAY0760-PLAY0765: a malformed button line, a slice the document does not declare, a slice that is not a State Change slice (a button invokes State Change slices only), a button without a slice (warning), an ambiguous slice reference, and a duplicate id. They mirror Scene's toolbarButtonSliceNotFound, toolbarButtonSliceNotStateChange and toolbarButtonSliceEmpty.
The syntax tree carries ToolbarButtonSyntax on ScreenToolbarSyntax.Buttons; it is omitted from the JSON when empty, so existing documents keep their bytes. The printer round-trips every button, and the TypeScript compiler reads buttons into the same tree with a shared conformance vector (toolbar-buttons).
Monaco and VS Code highlight, document and complete buttons; the Invoicing sample uses them.
Changed
Renaming or moving a slice, feature or module that a toolbar button names is refused with an explicit message instead of leaving the button's slice stale.