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

Parse and persist UI metadata on editor page #125

Merged
merged 3 commits into from
Apr 5, 2024

Conversation

ohltyler
Copy link
Member

@ohltyler ohltyler commented Apr 5, 2024

Description

This PR adds end-to-end support of saving to, and reading from, the ui_metadata field in the indexed workflow:

  • refactors and updates processNodes() to use the newly-implemented formikToComponentData() to update the underlying data field with the form values
  • removes the filter in processNodes() which was limiting the fields that were saved. Defaulting to all fields now, so other metadata like position, positionAbsolute, extent, parentNode, etc. are saved. This allows proper functionality for the parent/child nodes that we have (e.g., nodes inside Ingest block), and nice-to-haves, like the exact node positioning within the viewport staying static such that reloads will still show the view exactly how the user last left it
  • adds ui_metadata parsing in server-side when fetching workflows via searchWorkflows()
  • improves the hook on props.workflow in ResizableWorkspace to only parse the state when there is a valid workflow. This is to prevent weird intermediate states where it may render a default/invalid template immediately before the target workflow is fetched and rendered on top. instead, we leave it empty and don't populate any nodes/edges until that the workflow is available

Misc changes:

  • data model change in IComponentField from name -> id for consistency
  • removes codecov and pre-commit hooks until project is more stable. added tracking in the existing issue to re-enable later on: see Re-enable linting and codecov mechanisms #109

Demo video:

  • workflow state & node positioning persisted
  • values persisted in workflow nodes and internally as initial values in the Formik <Form>
screen-capture.26.webm

Issues Resolved

Makes progress on #75

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Signed-off-by: Tyler Ohlsen <[email protected]>
@ohltyler ohltyler merged commit ce28197 into opensearch-project:main Apr 5, 2024
6 checks passed
@ohltyler ohltyler deleted the parse-ui-metadata branch April 5, 2024 21:55
opensearch-trigger-bot bot pushed a commit that referenced this pull request Apr 5, 2024
Signed-off-by: Tyler Ohlsen <[email protected]>
(cherry picked from commit ce28197)
ohltyler added a commit that referenced this pull request Apr 5, 2024
Signed-off-by: Tyler Ohlsen <[email protected]>
(cherry picked from commit ce28197)

Co-authored-by: Tyler Ohlsen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants