Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build out the form-js-viewer-core package #1208

Open
22 tasks
Tracked by #1166
Skaiir opened this issue Jun 11, 2024 · 1 comment
Open
22 tasks
Tracked by #1166

Build out the form-js-viewer-core package #1208

Skaiir opened this issue Jun 11, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request in progress Currently worked on

Comments

@Skaiir
Copy link
Contributor

Skaiir commented Jun 11, 2024

Is your feature request related to a problem? Please describe.

As part of the current refactoring project to separate the form-viewer into a renderer and core part. This issue tracks the core side.

Describe the solution you'd like

Our goal is to create a library which is basically a large transformation pipeline. It manages the form state, and applies multiple transformations based on the current state, the schema, and the initial state.

grafik

Breakdown

We will follow the pipeline outlined above to have a progression.
There may be some missing aspects here, but this is a good level to break things down at

  • Schema importer API
  • State management API
  • Model "render" pipeline
    • Milestone 1 - Naive render step - Date TBA
      • Expands out dynamic lists from the state
      • Provide a model that the viewer can render (giant JSON object)
    • Milestone 2 - Top down visibility calculation - Date TBA
      • Manages a "working state" which removes elements that are hidden
      • Visibility is computed from top to bottom
      • Provides the visibility adjusted state easily
      • Provides the visibility adjusted form model easily
    • Milestone 3 - Feel evaluation layer (except visibility) - Date TBA
      • Uses the visibility adjusted state + initial state to compute feel & feelers across the form schema
      • Provides the visibility adjusted and feel computed form model easily
    • Milestone 4 - Pipeline extension points - Date TBA
      • Pre-feel model enrichment
      • Post-feel model enrichment
        • Validation computation
        • Metadata / API for viewer
  • Alignment check with the core module
  • (to detail) performance & memoization
  • Test migration

Describe alternatives you've considered

n/a

Additional context

Root issue: #1166

@Skaiir Skaiir added enhancement New feature or request in progress Currently worked on labels Jun 11, 2024
@Skaiir Skaiir self-assigned this Jun 18, 2024
@marcosgvieira
Copy link

@Skaiir as agreed, let's break the milestones here so it's easier to understand when we target to deliver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request in progress Currently worked on
Projects
None yet
Development

No branches or pull requests

2 participants