-
Notifications
You must be signed in to change notification settings - Fork 264
Fix two parallel content nodes editing logic #4464
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
Fix two parallel content nodes editing logic #4464
Conversation
rtibbles
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't manually tested, but overall, this looks like good cleanup.
Using a slot instead of passing a component in via a prop is the main cleanup needed here - but would also be good to think about the input data, as it feels like it might add complexity to have the different input data structures.
...ation/contentcuration/frontend/channelEdit/components/QuickEditModal/EditBooleanMapModal.vue
Outdated
Show resolved
Hide resolved
contentcuration/contentcuration/frontend/shared/views/contentNodeFields/CategoryOptions.vue
Show resolved
Hide resolved
| * It can receive a value as an array of strings of the selected learning activities, or | ||
| * an object with the following structure: | ||
| * { | ||
| * [learningActivityId]: true | [nodeId1, nodeId2, ...] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it simplify things to always require an Array of nodeIds here? In the single node case, it would just be a single nodeId.
contentcuration/contentcuration/frontend/shared/views/contentNodeFields/LevelsOptions.vue
Outdated
Show resolved
Hide resolved
contentcuration/contentcuration/frontend/channelEdit/components/edit/CategoryOptions.vue
Show resolved
Hide resolved
...ation/contentcuration/frontend/channelEdit/components/QuickEditModal/EditBooleanMapModal.vue
Outdated
Show resolved
Hide resolved
contentcuration/contentcuration/frontend/shared/views/contentNodeFields/CategoryOptions.vue
Show resolved
Hide resolved
c46ba2a to
feded9c
Compare
|
Going to merge so we can review all of @AlexVelezLl work in the main PR |
Summary
Description of the change(s) you made
Consolidate Boolean Maps editing logic from Edit Modal and Quick Edit Modals.
This PR removes from the
EditBooleanMapModalcomponent the responsibility for rendering data inputs and object manipulation of selected values. And instead letEditBooleanMapModalreceive aninputComponentvia props that will take care of that logic. LeavingEditBooleanMapModalwith the shared logic for boolean maps fields of parsing the input data thatinputComponentwill receive, and saving the data once the user clicks the save button.With this we achieve that
inputComponentis dynamic, and that theEditBooleanMapModalcan receive the same input components that are used in the generalEditModalcomponent:Components that were moved to the
shared/views/contentNodeFieldsfolder so that they can be used from both places, the generalEditModaland the new quick edit modals. And these components were modified to support anexpandedprop to render an expanded view using a list of checkboxes instead of a VSelect if this prop is true.Manual verification steps performed
I have tested manually that everything continues working in the Quick Edit Modals, and in the general Edit Modal.
Reviewer guidance
How can a reviewer test these changes?
You can go to edit the following fields either in the
edit all detailsmodal, or in the specific quick edit modals:References
Closes #4415
Contributor's Checklist
PR process:
CHANGELOGlabel been added to this PR. Note: items with this label will be added to the CHANGELOG at a later timedocslabel has been added if this introduces a change that needs to be updated in the user docs?requirements.txtfiles also included in this PRStudio-specifc:
notranslateclass been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. icons, user-generated text)pages,components, andlayoutsdirectories as described in the docsTesting:
Reviewer's Checklist
This section is for reviewers to fill out.
yarnandpip)