-
Notifications
You must be signed in to change notification settings - Fork 88
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: allow filtering library by publish status #1570
base: master
Are you sure you want to change the base?
Conversation
Thanks for the pull request, @DanielVZ96! This repository is currently maintained by @openedx/2u-tnl. 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.
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1570 +/- ##
==========================================
- Coverage 92.96% 92.96% -0.01%
==========================================
Files 1075 1076 +1
Lines 21190 21227 +37
Branches 4554 4565 +11
==========================================
+ Hits 19700 19734 +34
+ Misses 1424 1421 -3
- Partials 66 72 +6 ☔ View full report in Codecov by Sentry. |
9e38163
to
6d3db8d
Compare
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.
Hi @DanielVZ96 , this is working well! Left a few comments about extracting out user-facing strings, and some UI questions/issues. Let me know when it's ready for another review?
@@ -75,7 +79,8 @@ const BaseComponentCard = ({ | |||
<div className="text-truncate h3 mt-2"> | |||
<Highlight text={displayName} /> | |||
</div> | |||
<Highlight text={description} /> | |||
<Highlight text={description} /><br /> | |||
{props.hasUnpublishedChanges ? <Badge variant="warning">Unpublished changes</Badge> : null} |
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.
Please extract "Unpublished changes" into a message so it can be translated.
return ( | ||
<SearchFilterWidget | ||
appliedFilters={[]} | ||
label="Publish Status" |
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.
Please extract "Publish Status" to a message so it can be translated.
|
||
const clearFilters = React.useCallback(() => { | ||
setPublishStatusFilter([]); | ||
}, []); |
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.
Selecting a Published Status filter doesn't show the "clear filters" link?
Need to modify canClearFilters
.
onChange={() => { toggleFilterMode(PublishStatus.Published); }} | ||
> | ||
<div> | ||
Published |
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.
Please extract these "Published", "Modified since publish", and "Never published" labels to messages so they can be translated.
@@ -163,6 +171,7 @@ export const SearchContextProvider: React.FC<{ | |||
searchKeywords, |
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.
Some UI questions, feel free to bounce these off the UX folks if you agree :)
- Currently, sorting by "Recently Published" also filters out any "Never published" items, but this is entirely hidden from the user.
Should we make this explicit force-selecting the "Published" and "Modified since publish" filters in the UI? - Should the Publish Status drop-down label reveal when some filters are selected, like the Type and Tags do?
To make the drop-down more concise, I'd use "Status: Published" or whatever instead of "Published status: Published".
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.
@jmakowski1123 @lizc577 @sdaitzman @marcotuts any comments on this? ^
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.
@jmakowski1123 @lizc577 @sdaitzman @marcotuts gentle nudge on this since we're blocked waiting for a decision here.
> | ||
<div> | ||
Published | ||
{' '}<Badge variant="light" pill>{publishStatus[PublishStatus.Published] ?? 0}</Badge> |
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 don't think you need to have this {' '}
in there to separate the label from the Badge, do you? FilterByTags doesn't: https://github.com/open-craft/frontend-app-authoring/blob/dvz/filter-by-published/src/search-manager/FilterByTags.tsx#L66-L67
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.
(And strictly speaking, the Badge should be part of the translated text so that RTL languages can put the count badge to the left of the text. But there's a number of places where we'd need to fix this, so it's ok if you don't do it here.)
I'd go with force-suggesting the "only published" filter. |
Agreed! Also adding, I do think Publish Status drop-down label should reveal when some filters are selected, like the Type and Tags do |
Description
Adds a filter widget:
And an "Unpublished changes" badge:
Supporting information
Testing instructions
First pull the following branch: openedx/edx-platform#36031
tutor dev exec cms bash -c './manage.py cms reindex_studio --experimental '
Deadline
ASAP
Other information
Private-Ref