Refactoring updateRepeatingGroups
#1198
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR includes some refactoring to make #1175 easier to implement with a compatibility layer on top. Instead of
updateRepeatingGroups
informLayoutSaga
doing two things (both adding and removing a row from the repeating group state), this splits the two apart into separate actions (repGroupAddRow
andrepGroupDeleteRow
).The reason behind this change is to prepare for a cleaner interface in the future where we store this metadata about repeating groups inside the data model (for instance, the
index
state should be derived from the data model itself, as it is essentially thelength
of the repeating groups array). To make this change more cleanly, we should prepare our existing code for the changes to come.Sadly, the diffs here on github are pretty useless for this change, as most of this is just moving around code with automated 'extract to function', moving functions into other folders, indentation changes, etc. Sorry!
Related Issue(s)
Verification/QA
src/layout/layout.d.ts
andlayout.schema.v1.json
, and these are all backwards-compatiblekind/*
label to this PR for proper release notes grouping