diff --git a/opentech/api/__init__.py b/opentech/api/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/opentech/api/pagination.py b/opentech/api/pagination.py new file mode 100644 index 0000000000000000000000000000000000000000..1382e50358d993cb6629244709a19261b0616df7 --- /dev/null +++ b/opentech/api/pagination.py @@ -0,0 +1,6 @@ +from rest_framework import pagination + + +class StandardResultsSetPagination(pagination.PageNumberPagination): + page_size_query_param = 'page_size' + max_page_size = 1000 diff --git a/opentech/static_src/src/app/src/components/SubmissionsByRoundList.js b/opentech/static_src/src/app/src/components/SubmissionsByRoundList.js index 379edd569a7d13713b53662f0282d475d4ec7569..f564e03c23857e80d989272bc46e8d7dab0857a1 100644 --- a/opentech/static_src/src/app/src/components/SubmissionsByRoundList.js +++ b/opentech/static_src/src/app/src/components/SubmissionsByRoundList.js @@ -2,23 +2,31 @@ import React from 'react'; import SubmissionsByRoundListHeading from '@components/SubmissionsByRoundListHeading'; import SubmissionsByRoundListItem from '@components/SubmissionsByRoundListItem'; -import './SubmissionsByRoundList.scss' +import './SubmissionsByRoundList.scss'; export default class SubmissionsByRoundList extends React.Component { renderListItems() { - return this.props.items.map(v => { - const submissions = v.submissions.map(v => { - return <SubmissionsByRoundListItem key={`submission-${v.id}`} title={v.title} />; - }); - return ( - <> - <SubmissionsByRoundListHeading key="status-{v.title}" title={v.title} count={v.submissions.length} /> - <ul> - {submissions} - </ul> - </> + const listItems = []; + for (const item of this.props.items) { + listItems.push( + <SubmissionsByRoundListHeading key={`status-${item.id}`} title={item.title} count={item.submissions.length} /> ); - }); + + const submissions = []; + for (const submission of item.submissions) { + + submissions.push( + <SubmissionsByRoundListItem key={`submission-${submission.id}`} title={submission.title} /> + ); + } + + listItems.push( + <ul key={`submissions-list-${item.id}`}> + {submissions} + </ul> + ); + } + return listItems; } render() { diff --git a/opentech/static_src/src/app/src/redux/selectors/submissions.js b/opentech/static_src/src/app/src/redux/selectors/submissions.js index 4b231e4e7ba140598e751db407d5855b91f5fcce..75a76bf06c9fbec6ccfab4645a4d52b61fc280f3 100644 --- a/opentech/static_src/src/app/src/redux/selectors/submissions.js +++ b/opentech/static_src/src/app/src/redux/selectors/submissions.js @@ -22,6 +22,7 @@ const getCurrentRoundSubmissionsByStatus = createSelector( const formattedSubmissionsByStatus = []; for (const [submissionStatus, statusSubmissions] of Object.entries(submissionsByStatus)) { formattedSubmissionsByStatus.push({ + id: submissionStatus, title: submissionStatus, submissions: statusSubmissions, });