feat(ui): tabbed canvases #8553
Draft
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.
Summary
A new feature was implemented to enable multiple canvases in the canvas editor.
SliceConfig
was updated intypes.js
to handle partially undoable slices:TInternalState
andTSerializedState
, were added to strongly type states used in Redux and the persisted into storagewrapState
andunwrapState
, were added to themigrate
field for wrapping/unwrapping state during serialization/deserializationundoableConfig
was deleted, asreduxUndoOptions
is used only in slices, so this field became redundantstore.ts
was refactored to use the updatedSliceConfig
zStateWithHistory
,zCanvasStateWithHistory
,zCanvasesState
,zCanvasesStateWithHistory
andzCanvasesStateWithoutHistory
, were created intypes.ts
to represent types in the partially undoable canvases sliceselectCanvases
selectSelectedCanvasWithHistory
andselectSelectedCanvas
, were added toselectors.ts
to isolate changes due to refactoring in the canvas slice from componentscanvasSlice
was split into two parts representing thecanvases
slice without history and thecanvas
with undoable historyundoableCanvasesReducer
higher order reducer was created to combinecanvases
andcanvas
reducersRTK
was updated to version2.9.0
Related Issues / Discussions
Closes #8380
Checklist
What's New
copy (if doing a release after this PR)