-
Notifications
You must be signed in to change notification settings - Fork 188
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
Fix two parallel content nodes editing logic #4464
Conversation
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 |
e2fe971
into
learningequality:studio-usability-enhancements
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
EditBooleanMapModal
component the responsibility for rendering data inputs and object manipulation of selected values. And instead letEditBooleanMapModal
receive aninputComponent
via props that will take care of that logic. LeavingEditBooleanMapModal
with the shared logic for boolean maps fields of parsing the input data thatinputComponent
will receive, and saving the data once the user clicks the save button.With this we achieve that
inputComponent
is dynamic, and that theEditBooleanMapModal
can receive the same input components that are used in the generalEditModal
component:Components that were moved to the
shared/views/contentNodeFields
folder so that they can be used from both places, the generalEditModal
and the new quick edit modals. And these components were modified to support anexpanded
prop 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 details
modal, or in the specific quick edit modals:References
Closes #4415
Contributor's Checklist
PR process:
CHANGELOG
label been added to this PR. Note: items with this label will be added to the CHANGELOG at a later timedocs
label has been added if this introduces a change that needs to be updated in the user docs?requirements.txt
files also included in this PRStudio-specifc:
notranslate
class been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. icons, user-generated text)pages
,components
, andlayouts
directories as described in the docsTesting:
Reviewer's Checklist
This section is for reviewers to fill out.
yarn
andpip
)