Split form components into `Drupal`-prefixed behavioral wrappers and presentational components

Created on 3 December 2024, 16 days ago

Overview

Work on recent issues has identified evolving needs for our current implementation of the form components:

  1. ✨ Save page data form values in application state with support for undo/redo Active
    • Form element behaviors (data saving, validation etc.) needs to change based on context.
  2. πŸ“Œ Implement storybook js in XB Active
    • Form elements need to be available as purely presentational components, decoupled from business logic, for efficient UI development.
  3. ✨ [exploratory] PoC of Preact+Tailwind components editable via CodeMirror or Monaco Active
    • Form elements need to be available as purely presentational components, decoupled from business logic, to be used at other parts of the application β€” e.g. UI for defining props in JavaScript components.

Proposed resolution

Render each form component (ui/src/components/form/) by another component that wraps it in the `InputBehaviors` HOC. Prefix the name of these new components with `Drupal`.

This was proposed and agreed upon (without implementation details) in ✨ Save page data form values in application state with support for undo/redo Active . Implementation was already done there, but moving into its own issue to reduce complexity for code reviews.

See MR description for proposed implementation details.

User interface changes

None.

πŸ“Œ Task
Status

Needs work

Version

0.0

Component

Redux-integrated field widgets

Created by

πŸ‡³πŸ‡±Netherlands balintbrews Amsterdam, NL

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024