-
Notifications
You must be signed in to change notification settings - Fork 684
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
Quiz creation side panels improvements #12819
base: develop
Are you sure you want to change the base?
Quiz creation side panels improvements #12819
Conversation
Build Artifacts
|
Hi @nucleogenesis, Here's a list with the regressions I was able to spot:
continue.mp4
missing.back.arrow.mp4
areusure.mp4
close.mp4
changes.should.not.be.saved.mp4
replace.modal.mp4
navigation.issues.mp4 |
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.
Just a small consideration regarding the naming of these components, and the "go back" behaviour that is not completely clear to me.
@@ -656,7 +664,7 @@ | |||
} | |||
|
|||
function handleConfirmClose() { | |||
context.emit('closePanel'); | |||
this.$router.back(); |
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 wonder what is the difference between this this.$router.back()
and the use of the this.prevRoute
? We could add a comment there to explain the purpose of each and why we have different patterns for confirmClose and just closing the side panel
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.
The whole thing was kind of confusing so I've included some updates to SidePanelModal that made this a lot easier to deal with. Lemme know what you think when you can.
kolibri/plugins/coach/assets/src/views/plan/CreateExamPage/ReplaceQuestions.vue
Outdated
Show resolved
Hide resolved
@AlexVelezLl @pcenov I have updated the PR and addressed the feedback.
This is intentional - when you click "Add questions" we decided to skip confirming "Are you sure?" and just auto-save the user's changes when they go to add questions
Here is an example of the navigation - I have made changes such that the Back arrow shows AND the Close icon shows in the context of going "Section editor -> Add questions" - so the user can always close out from there but if they use the back arrow, they'll eventually go back to the "Section editor" from the "Add questions" (with the confirmation modal if they've made changes, but no confirmation modal if they have not). fix-navigation.mp4I made a change that seems to avoid the "redundant navigation" error. However, I have been able to successfully select any section: fix-section-selection-in-overflow.mp4 |
Hi @nucleogenesis - it seems that there are some conflicts that must be resolved and there are no new build assets for me to test at this point, so could you take a look? |
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.
Looks good to me! Code changes makes sense to me, and I havent spotted anything weird, I will left the final approve to QA's review. Thanks @nucleogenesis!
77af83c
to
033e53c
Compare
Hi @nucleogenesis, looks much better already! The following issues are still not fixed or partially fixed:
2024-11-21_14-29-21.mp4
2024-11-21_13-38-42.mp4
I believe that it would be fine to skip the confirmation only if the user has actually added new questions. But if the user has clicked on "Add questions" and then went back to "Section settings" without having added any new questions or clicked the "Apply settings" button, then it's not ok to auto-save as it's not consistent with the scenario where one goes to "Section settings" makes some changes, hits the close icon and sees the "Are you sure" modal: 2024-11-21_15-31-48.mp4
When following your guidance for this scenario I am always going back to the root page, and not to the "Section settings" side panel: 2024-11-21_15-51-03.mp4 |
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.
Thanks Jacob! I have spotted a couple of weird behaviours with the back button, but they are mostly questions to confirm if this is the expected behaviour
@@ -491,9 +485,6 @@ | |||
loadingMore, | |||
} = useQuizResources({ topicId, practiceQuiz: selectPracticeQuiz.value }); | |||
|
|||
const { searchTerms, search } = useBaseSearch({ descendant: topic }); |
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.
This wasnt being used before?
}, | ||
*/ | ||
selectAllIsVisible() { | ||
TO BE IMPLEMENTED IN https://github.com/learningequality/kolibri/issues/11734 |
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.
This issue is already closed. Its still valid? Or do we need to remove this?
// arrow in that case. Here we check if there is a valid prevRoute and if there is, | ||
// then we know we can go back if we have a topicId or are showing bookmarks | ||
// TODO When we add search it'll probably want to be here too | ||
(prevRoute.value.name && (topicId.value || showBookmarks.value)), |
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 think its a very edge case, but with this condition, if I reload the page, prevRoute.value.name
is always empty, and I completely lose the back button and doesnt appear again even if I navigate through the tree:
Compartir.pantalla.-.2024-11-21.10_12_54.mp4
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.
Thank you for this - it shouldn't show up on page load, but it should once you start navigating for sure
@@ -848,6 +871,12 @@ | |||
focusFirstEl() { | |||
this.$refs.textbox.focus(); | |||
}, | |||
handleGoBack() { | |||
this.$router.back(); |
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 was wondering what does the "go back" button means when we are navigating through the tree. If it means the same behaviour as the browser back button, or if it means go back in the tree. From my perspective I would think that if I click the back button while searching through the tree, it always take me back to the parent folder, but this doesnt happen if we click on the breadcrumbs:
Compartir.pantalla.-.2024-11-21.10_23_16.mp4
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.
It also happens when we open the section editor:
Summary
Create-new-quiz---Kolibri.1.mp4
When working on quiz creation I created a SectionSidePanel component to kind of wrap around all of the various side-panel kinds but realized a bit too late on that it wasn't really necessary and added some unnecessary complexity.
This instead begins organizing the code so that each of the child routes' components for the side panels are wrapped in the SidePanelModal component which results in them being rendered into the
<router-view/>
in the quiz creation root route.Some motivations for this were:
Reviewer guidance
QA
Code review
Testing checklist
PR process
Reviewer checklist
yarn
andpip
)