-
Notifications
You must be signed in to change notification settings - Fork 149
feat: show sync button on section/subsections [FC-0097] #2324
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
feat: show sync button on section/subsections [FC-0097] #2324
Conversation
Thanks for the pull request, @ChrisChV! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. Where can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2324 +/- ##
==========================================
+ Coverage 94.50% 94.55% +0.05%
==========================================
Files 1171 1174 +3
Lines 25149 25366 +217
Branches 5374 5570 +196
==========================================
+ Hits 23766 23984 +218
+ Misses 1320 1313 -7
- Partials 63 69 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
@ChrisChV Nice work 👍. Just left a suggestion about invalidating course library queries.
@@ -148,6 +165,10 @@ const SectionCard = ({ | |||
setIsExpanded((prevState) => containsSearchResult() || prevState); | |||
}, [locatorId, setIsExpanded]); | |||
|
|||
const handleOnPostChangeSync = useCallback(() => { | |||
dispatch(fetchCourseSectionQuery([section.id])); |
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.
We need to invalidate course libraries query after syncing changes. Same for Subsection and unit cards.
Vice versa, we need to refetch course section when the sync is performed from course libraries page.
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.
We need to invalidate course libraries query after syncing changes. Same for Subsection and unit cards.
Updated here: 6ebf564
That updates the counter in the warning.
Vice versa, we need to refetch course section when the sync is performed from course libraries page.
I'm not sure this is necessary. Does the course libraries page display any course information?
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.
Does the course libraries page display any course information?
No, just wanted to make sure that the outline is updated and the sync
button from the outline is removed. But it seems like the outline is refresh every time, so not needed.
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.
@ChrisChV Looks good. 👍
- I tested this: (Verified sync button in outline)
- I read through the code
- I checked for accessibility issues
- Includes documentation
@@ -148,6 +165,10 @@ const SectionCard = ({ | |||
setIsExpanded((prevState) => containsSearchResult() || prevState); | |||
}, [locatorId, setIsExpanded]); | |||
|
|||
const handleOnPostChangeSync = useCallback(() => { | |||
dispatch(fetchCourseSectionQuery([section.id])); |
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.
Does the course libraries page display any course information?
No, just wanted to make sure that the outline is updated and the sync
button from the outline is removed. But it seems like the outline is refresh every time, so not needed.
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.
LGTM
Description
Supporting information
UpstreamLink.ready_to_sync
[FC-0097] edx-platform#37217Testing instructions
Other information
N/A
Best Practices Checklist
We're trying to move away from some deprecated patterns in this codebase. Please
check if your PR meets these recommendations before asking for a review:
.ts
,.tsx
).propTypes
,defaultProps
, andinjectIntl
patterns are not used in any new or modified code.src/testUtils.tsx
(specificallyinitializeMocks
)apiHooks.ts
in this repo for examples.messages.ts
files have adescription
for translators to use.../
. To import from parent folders, use@src
, e.g.import { initializeMocks } from '@src/testUtils';
instead offrom '../../../../testUtils'