Skip to content

feat: Host-agnostic editable text + change events #224

Closed

Description

@lornakelly

Description

Depends on: #208
Editor decided (#208): Monaco.

Integrate chosen code editor in new package and give the editor an editable text surface + a change-event contract, host-agnostic (doesn't assume where it runs or who embeds it e.g. a plain web page / Storybook, the Quarkus Dev UI, a VS Code or IntelliJ extension etc).

Already exists: the provider re-parses and redraws whenever the content prop changes (parseWorkflow(props.content) in a useMemo,DiagramEditorContextProvider.tsx). The gap: there is no editable text field and noonChange emitted out — content is a one-way input prop. This ticket adds the editable surface and the change contract so edits flow, while reusing the existing prop→re-parse→redraw plumbing.

Source of truth: The editor is a controlled text component: it surfaces the current text as content and reports edits via onChange; the parsed model and the diagram are always a derived view of that text.

Motivation

Without an editable surface + onChange contract, we can't support any real editing workflow

Proposed Implementation

No response

Definition of Done

  • Implementation: Fully implemented according to the Serverless Workflow spec.
  • Unit Tests: Comprehensive unit tests are included and passing.
  • Integration Tests: Verified within the monorepo and target environments (Web/VS Code).
  • Documentation: Updated README.md, ADRs, or official docs.
  • Performance: No significant regression in editor responsiveness.
  • Accessibility: UI changes comply with accessibility standards.

Activity

  1. lornakelly commented on Nov 4, 2026

    @lornakelly
    CollaboratorAuthor

    This has been implemented as part of other tickets

  2. removed their assignment
    on Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions