Description
Expected behavior
This ticket will enhance the display of challenges on the project screen to better match what we have in Topcoder Direct, which is being deprecated.
We are going to display more relevant information, add sorting, and include better filtering
Actual behaviour
Currently, all we can do on a project screen is to search by a text field, but we can't properly sort, filter or display all relevant details about challenges.
Screenshot
Display
We want the challenge display to better match the Topcoder Direct table seen. We can slightly lower the text size so that things fit appropriately, and we can put the new filters and search criteria underneath the billing account info, with the table below that.
The columns we will display are:
- Challenge type (icon like community app -- see below)
- Challenge name
- Start Date (all on one line)
- End Date (all on one line)
- Registrants (column header can just be the current icon)
- Submissions (column header can just be the current icon)
- Forums (can be 0 for now until we integrate with the forums API in a later challenge)
- Status
- Edit (links to the current WM edit page for a given challenge)
- OR (links to Online Review)
- CA (links to topcoder.com/challenges/{challenge ID})
Note that we do not need to show Created By
or Updated By
names and dates, or the Last Updated
column
Status tabs
We can remove the status tabs along the top, since we're moving the status into the table itself.
Mouse over
We can remove the mouseover functionality for the rows, since we're moving most of that to the table itself. There is a button to "Active" a draft challenge, which we can remove entirely. The user will be expected to go into the "Edit" page of the challenge in Work Manager to activate it.
Pagination
Note that pagination is necessary because there are projects with thousands of challenges. This is currently implemented in Work Manager, but we must ensure it continues to work properly.
Challenge type icon
In the community app, we have specific icons for the type of challenge, like the Challenge and F2F icons here. We can use those in Work Manager to save space, instead of having to put in the full text of the challenge type.
The most recent code for all challenge types is available here:
Sorting
The default sorting should be start date in descending order. All other columns should be sortable, other than the Edit, OR, and CA columns.
Filtering
Instead of the basic text search that we have now in the WM project page, we are going to add additional filters for:
- Challenge status
- Challenge type
- Start date (from / to)
- End date (from / to)
The filtering and sorting should be done through the Challenge API - do not do this on the client-side. This must be done through the API.
https://github.com/topcoder-platform/challenge-api
https://github.com/topcoder-platform/challenge-api/blob/develop/docs/swagger.yaml