formio / formio.js

JavaScript powered Forms with JSON Form Builder
https://formio.github.io/formio.js
MIT License
1.83k stars 1.04k forks source link

Bugfix: WizardBuilder removes page when saving other component with duplicate API key #5568

Open akgagnat opened 2 months ago

akgagnat commented 2 months ago

Link to Jira Ticket

N/A

Description

How to reproduce the bug:

  1. Go to formio sandbox
  2. Change form display to 'wizard'
  3. Insert a new component (e.g. Text Field) in page, provide same API key as the page and save
  4. Observe error 'API key is not unique'
  5. Edit component, provide a unique API key and save
  6. The page has now been removed (actually replaced by the component that was changed)

What is changed in this PR:

The lookup in WizardBuilder's saveComponent event handler is done based on id instead of key.

Dependencies

N/A

How has this PR been tested?

I added unit tests.

Checklist: