Skip to content

Ability to Manually Connect MCQ Paths #982

@matKlju

Description

@matKlju

AS A Service-Module admin
I WANT to manually connect and manage MCQ output paths using button-based handles
SO THAT I can control flow logic clearly without breaking mappings or adding UI clutter


Description

Each MCQ answer button acts as a draggable connection handle.
Users can connect, reconnect, and reorder paths directly from the canvas.

Important:

  • MCQ config button order and canvas path order are independent

Acceptance Criteria

Drag & Connect

  • Each button is a draggable connection handle
  • Dragging a button creates a new solid connection if none exists
  • Dragging a connected button reconnects it (previous connection is removed first)
  • One button = max one active connection
  • Reconnecting to the same node results in no duplicate edge

Ordering & Swapping

  • Canvas output paths can be reordered independently of config
  • Reordering paths does not affect MCQ config button order
  • Reordering buttons in config does not affect canvas paths
  • Moving a connected path keeps its connection
  • Moving an unconnected path into a connected position swaps ownership

Flow Behavior

  • When inserting a new MCQ node between two already connected nodes, the original downstream node is automatically connected to the rightmost MCQ output path
  • The original incoming edge connects to the MCQ input
  • The original outgoing/downstream connection is moved to the rightmost MCQ output path
  • Other MCQ output paths remain unconnected

Data Integrity

  • Renaming button does not affect connection
  • Deleting button removes its connection
  • No duplicate edges per button
  • Multiple buttons may connect to the same downstream node (allowed)
  • Export/import preserves:
    • connections
    • config button order
    • canvas path order

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions